FlowHeater

Willkommen, Besucher
Bitte anmelden oder registrieren.    Passwort vergessen?

Einbindung externer DLL in .Net-Heater
(1 Leser) (1) Besucher
Willkommen im FlowHeater Support Forum!

Hier werden Fragen zum Umgang mit dem FlowHeater beantwortet.
Zum Ende gehenSeite: 12
THEMA: Einbindung externer DLL in .Net-Heater
#158
Aw: Einbindung externer DLL in .Net-Heater vor 1 Jahr, 5 Monaten  
Hallo Herr Stark,

fuktioniert.

Es muß lediglich If isNothing(instance) Then
statt If instance=nothing heißen.

Hier nochmal komplett:


Dim instance As Object

Private Function DoWork() As Object

Dim baseBindingFlags As BindingFlags
baseBindingFlags = BindingFlags.DeclaredOnly Or BindingFlags.Public Or BindingFlags.NonPublic Or BindingFlags.Instance

' beim 1. Aufruf DLL laden und Instance erzeugen
If isNothing(instance) Then
' Klassenname inkl. kompletten Namespace
Dim classname As String
classname = "FHTest.Class1"

' welche .NET DLL soll geladen werden
' die DLL wird aus dem gleichen Verzeichnis, wo die Definition gespeichert ist, geladen
' es gehen aber auch absolute Pfadangaben!
Dim asm As Assembly
asm = Assembly.LoadFrom("FHTest.dll")


' Instance der Klasse erzeugen
Dim t As Type
t = asm.GetType(classname)

instance = t.InvokeMember(classname, BindingFlags.CreateInstance, Nothing, Nothing, Nothing)
End If


' Heater Eingangsparameter holen
Dim i1 As Integer
Dim i2 As Integer

i1 = InValues(0).GetInt()
i2 = InValues(1).GetInt()

' Übergabeparamater für die Funktion festlegen.
' Die Anzahl sowie Typen der Parameter richtet sich nach der Methode die gerufen werden soll
Dim args() As Object = {i1, i2}

' Methode Rechne der Klasse Class1 aufrufen und Wert zurückliefern
DoWork = instance.GetType().InvokeMember("Rechne", BindingFlags.InvokeMethod, Nothing, instance, args)

End Function


Vielen Dank!
Monschau
Heinz-Bernd Monschau
Senior Boarder
Beiträge: 41
graphgraph
Benutzer offline Hier klicken, um das Profil dieses Benutzers zu sehen
Kein öffentlicher Schreibzugriff erlaubt, bitte erst registrieren!
 
Zum Anfang gehenSeite: 12
Moderation: FlowHeater
die neusten Beiträge direkt auf Ihrem Desktop erhalten

Wer ist Online

Wir haben 12 Gäste online

Login