.NET
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

VLA-object with no properties and methods

4 REPLIES 4
Reply
Message 1 of 5
Anonymous
246 Views, 4 Replies

VLA-object with no properties and methods

I have compiled a class library that is exposed to com and I can
(setq aa (vla-getinterfaceobject acadobj "ClassLibrary4.NET_Temp"))
#
_$ (vlax-dump-object aa t)
it returns:
; _NET_Temperature: nil
; No properties
; No methods
T

How do I setup the properties and methods to be able to use them from lisp?
I am still trying to implement:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/callcomcomp.asp

Any help would be greatly appreciated.
Mathew
4 REPLIES 4
Message 2 of 5
Anonymous
in reply to: Anonymous

Did you check 'Register for COM Interop' in your
project settings? If not, post your code if it is
not ummmm proprietary.

--
http://www.caddzone.com

AcadXTabs: MDI Document Tabs for AutoCAD 2004/2005/2006
http://www.acadxtabs.com

"Darcy" wrote in message news:4909625@discussion.autodesk.com...
I have compiled a class library that is exposed to com and I can
(setq aa (vla-getinterfaceobject acadobj "ClassLibrary4.NET_Temp"))
#
_$ (vlax-dump-object aa t)
it returns:
; _NET_Temperature: nil
; No properties
; No methods
T

How do I setup the properties and methods to be able to use them from lisp?
I am still trying to implement:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/callcomcomp.asp

Any help would be greatly appreciated.
Mathew
Message 3 of 5
Anonymous
in reply to: Anonymous

I have these attributes:
< assemblykeyfileattribute="">
< assemblytitle="">
< clscompliant="">
< comvisible="">

and a Batch file:
"C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\sn.exe" -k
PhysServer2.snk
"C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\tlbexp.exe"
PhysServer2.dll /out:PhysServer2.tlb
"C:\WINdows\Microsoft.NET\Framework\v1.1.4322\regasm.exe"
/tlb:PhysServer2.tlb PhysSERVER2.dll
"C:\Program Files\Microsoft Visual Studio .NET
2003\SDK\v1.1\Bin\gacutil.exe" /i PhysServer2c.dll

Here is the class. I have checked the 'Register for COM Interop' checkbox.
Public Interface iTemperature
Property Celsius() As Double
Property Fahrenheit() As Double
Function GetCelsius() As Double
Function GetFahrenheit() As Double
End Interface

Public Class NET_Temperature
Implements iTemperature

Private mdblCelsius As Double
Private mdblFahrenheit As Double

Public Property Celsius() As Double _
Implements iTemperature.Celsius
Get
Celsius = mdblCelsius
End Get
Set(ByVal Value As Double)
mdblCelsius = Value
mdblFahrenheit = ((Value * 9) / 5) + 32
End Set
End Property

Public Property Fahrenheit() As Double _
Implements iTemperature.Fahrenheit
Get
Fahrenheit = mdblFahrenheit
End Get
Set(ByVal Value As Double)
mdblFahrenheit = Value
mdblCelsius = ((Value - 32) * 5) / 9
End Set
End Property

Public Function GetCelsius() As Double _
Implements iTemperature.GetCelsius
GetCelsius = mdblCelsius
End Function

Public Function GetFahrenheit() As Double _
Implements iTemperature.GetFahrenheit
GetFahrenheit = mdblFahrenheit
End Function
End Class

Thanks again.
Matthew


"Tony Tanzillo" wrote in message
news:4909714@discussion.autodesk.com...
Did you check 'Register for COM Interop' in your
project settings? If not, post your code if it is
not ummmm proprietary.

--
http://www.caddzone.com

AcadXTabs: MDI Document Tabs for AutoCAD 2004/2005/2006
http://www.acadxtabs.com

"Darcy" wrote in message
news:4909625@discussion.autodesk.com...
I have compiled a class library that is exposed to com and I can
(setq aa (vla-getinterfaceobject acadobj "ClassLibrary4.NET_Temp"))
#
_$ (vlax-dump-object aa t)
it returns:
; _NET_Temperature: nil
; No properties
; No methods
T

How do I setup the properties and methods to be able to use them from lisp?
I am still trying to implement:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/callcomcomp.asp

Any help would be greatly appreciated.
Mathew
Message 4 of 5
Anonymous
in reply to: Anonymous

Search MSDN for the ClassInterfaceType and ProgID attributes.

You're missing those, which is required for a class
that is exposed via COM.

--
http://www.caddzone.com

AcadXTabs: MDI Document Tabs for AutoCAD 2004/2005/2006
http://www.acadxtabs.com

"Matthew" wrote in message news:4910016@discussion.autodesk.com...
I have these attributes:
< assemblykeyfileattribute="">
< assemblytitle="">
< clscompliant="">
< comvisible="">

and a Batch file:
"C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\sn.exe" -k
PhysServer2.snk
"C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\tlbexp.exe"
PhysServer2.dll /out:PhysServer2.tlb
"C:\WINdows\Microsoft.NET\Framework\v1.1.4322\regasm.exe"
/tlb:PhysServer2.tlb PhysSERVER2.dll
"C:\Program Files\Microsoft Visual Studio .NET
2003\SDK\v1.1\Bin\gacutil.exe" /i PhysServer2c.dll

Here is the class. I have checked the 'Register for COM Interop' checkbox.
Public Interface iTemperature
Property Celsius() As Double
Property Fahrenheit() As Double
Function GetCelsius() As Double
Function GetFahrenheit() As Double
End Interface

Public Class NET_Temperature
Implements iTemperature

Private mdblCelsius As Double
Private mdblFahrenheit As Double

Public Property Celsius() As Double _
Implements iTemperature.Celsius
Get
Celsius = mdblCelsius
End Get
Set(ByVal Value As Double)
mdblCelsius = Value
mdblFahrenheit = ((Value * 9) / 5) + 32
End Set
End Property

Public Property Fahrenheit() As Double _
Implements iTemperature.Fahrenheit
Get
Fahrenheit = mdblFahrenheit
End Get
Set(ByVal Value As Double)
mdblFahrenheit = Value
mdblCelsius = ((Value - 32) * 5) / 9
End Set
End Property

Public Function GetCelsius() As Double _
Implements iTemperature.GetCelsius
GetCelsius = mdblCelsius
End Function

Public Function GetFahrenheit() As Double _
Implements iTemperature.GetFahrenheit
GetFahrenheit = mdblFahrenheit
End Function
End Class

Thanks again.
Matthew


"Tony Tanzillo" wrote in message
news:4909714@discussion.autodesk.com...
Did you check 'Register for COM Interop' in your
project settings? If not, post your code if it is
not ummmm proprietary.

--
http://www.caddzone.com

AcadXTabs: MDI Document Tabs for AutoCAD 2004/2005/2006
http://www.acadxtabs.com

"Darcy" wrote in message
news:4909625@discussion.autodesk.com...
I have compiled a class library that is exposed to com and I can
(setq aa (vla-getinterfaceobject acadobj "ClassLibrary4.NET_Temp"))
#
_$ (vlax-dump-object aa t)
it returns:
; _NET_Temperature: nil
; No properties
; No methods
T

How do I setup the properties and methods to be able to use them from lisp?
I am still trying to implement:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/callcomcomp.asp

Any help would be greatly appreciated.
Mathew
Message 5 of 5
Anonymous
in reply to: Anonymous

Thanks Tony

I posted to the Microsoft news group as well. Someone over there said that
the Strong Name property page was in the Bata, and they took it out of the
final release.

Matthew

"Tony Tanzillo" wrote in message
news:4910636@discussion.autodesk.com...
Search MSDN for the ClassInterfaceType and ProgID attributes.

You're missing those, which is required for a class
that is exposed via COM.

--
http://www.caddzone.com

AcadXTabs: MDI Document Tabs for AutoCAD 2004/2005/2006
http://www.acadxtabs.com

"Matthew" wrote in message
news:4910016@discussion.autodesk.com...
I have these attributes:
< assemblykeyfileattribute="">
< assemblytitle="">
< clscompliant="">
< comvisible="">

and a Batch file:
"C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\sn.exe" -k
PhysServer2.snk
"C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\tlbexp.exe"
PhysServer2.dll /out:PhysServer2.tlb
"C:\WINdows\Microsoft.NET\Framework\v1.1.4322\regasm.exe"
/tlb:PhysServer2.tlb PhysSERVER2.dll
"C:\Program Files\Microsoft Visual Studio .NET
2003\SDK\v1.1\Bin\gacutil.exe" /i PhysServer2c.dll

Here is the class. I have checked the 'Register for COM Interop' checkbox.
Public Interface iTemperature
Property Celsius() As Double
Property Fahrenheit() As Double
Function GetCelsius() As Double
Function GetFahrenheit() As Double
End Interface

Public Class NET_Temperature
Implements iTemperature

Private mdblCelsius As Double
Private mdblFahrenheit As Double

Public Property Celsius() As Double _
Implements iTemperature.Celsius
Get
Celsius = mdblCelsius
End Get
Set(ByVal Value As Double)
mdblCelsius = Value
mdblFahrenheit = ((Value * 9) / 5) + 32
End Set
End Property

Public Property Fahrenheit() As Double _
Implements iTemperature.Fahrenheit
Get
Fahrenheit = mdblFahrenheit
End Get
Set(ByVal Value As Double)
mdblFahrenheit = Value
mdblCelsius = ((Value - 32) * 5) / 9
End Set
End Property

Public Function GetCelsius() As Double _
Implements iTemperature.GetCelsius
GetCelsius = mdblCelsius
End Function

Public Function GetFahrenheit() As Double _
Implements iTemperature.GetFahrenheit
GetFahrenheit = mdblFahrenheit
End Function
End Class

Thanks again.
Matthew


"Tony Tanzillo" wrote in message
news:4909714@discussion.autodesk.com...
Did you check 'Register for COM Interop' in your
project settings? If not, post your code if it is
not ummmm proprietary.

--
http://www.caddzone.com

AcadXTabs: MDI Document Tabs for AutoCAD 2004/2005/2006
http://www.acadxtabs.com

"Darcy" wrote in message
news:4909625@discussion.autodesk.com...
I have compiled a class library that is exposed to com and I can
(setq aa (vla-getinterfaceobject acadobj "ClassLibrary4.NET_Temp"))
#
_$ (vlax-dump-object aa t)
it returns:
; _NET_Temperature: nil
; No properties
; No methods
T

How do I setup the properties and methods to be able to use them from lisp?
I am still trying to implement:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/callcomcomp.asp

Any help would be greatly appreciated.
Mathew

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk DevCon in Munich May 28-29th


Autodesk Design & Make Report

”Boost