Entwickler-Ecke

Andere .NET-Sprachen - .Net-Klassenbibliothek in Delpi 7 einbinden


randy77 - Sa 10.09.05 22:50
Titel: .Net-Klassenbibliothek in Delpi 7 einbinden
Hallo Leute,

ich habe eine VB.Net-Klassenbibliothek und würde diese gerne in ein Delphi7 Projekt in der Laufzeit einbinden (late binding).

In Visual Basic gab es dafür folgende Lösung:
http://mwvb.de/dll2.htm

Die Klasse, die ich einbinden möchte hat folgende Gestalt:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
Imports System.Windows.Forms

Public Class NetTest1

    Public Sub Method1()
        MessageBox.Show("lala", "Hallo Welt", MessageBoxButtons.OK, MessageBoxIcon.Error)
    End Sub
End Class


Vielen Dank für eure Mühe!


Marauder - So 11.09.05 01:30

Unter Delphi 2005 funktioniert das entweder über Referenzen, dass Projekt einbinden, dann einen Verweis
auf die Klasse in die Usesklausel, dann ganz normal ansprechen. Oder über Reflection:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
uses 
   System.Reflection

.
.
.

Var 
   as: Assembly;
   t : &Type;
   o : System.Object;
   m : MethodInfo;

   t := Assembly.loadFrom('XXX.DLL').GetType('XXX'); // Klasse
   o := Activator.CreateInstance(t);
   m := t.GetMethod ('Methode');
   m.Invoke (o,[Parm1,parm1...]);


Ich weiss nicht ob das bei D7 auch so ist... kannst ja mal posten ob es funktioniert...würd mich interessieren.
(Ich hab VB-Klassen immer über die Referenzen verwendet, aber wenn du ein Late Binding brauchst...)

Gruß