Laden...

.Net DLL für natives Programm

Erstellt von Kaji vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.335 Views
K
Kaji Themenstarter:in
593 Beiträge seit 2007
vor 15 Jahren
.Net DLL für natives Programm

Hallo,

und zwar habe ich die aufgabenstellung bekommen eine DLL für eine native Anwendung (Delphi) zu programmieren. Wir programmieren mit .Net. Aber ich kann dem ja glaube ich nicht einfach ne managed DLL hinwerfen und das native programm frist die oder? Hat da jemand etwas wo ich mich etwas reinlesen kann oder eine grobe Richtung?

Gruß Daniel

F
10.010 Beiträge seit 2004
vor 15 Jahren

Deine einzige echte chance ist, ein COM Object zu stellen.

K
Kaji Themenstarter:in
593 Beiträge seit 2007
vor 15 Jahren

Hmm ja so weit so gut. COM scheint man ja so ziemlich überall reinladen zu können. Wie erstelle ich den in C# sinnvoll so ne COM DLL? Muss ich attribute angeben oder besondere Sachen beachten? Wie ist das mit den mappen der Typen also wie int string etc... Müssen die von der anderen Anwendung gecastet werden?

Gruß Kaji

K
Kaji Themenstarter:in
593 Beiträge seit 2007
vor 15 Jahren

Ich habe einen älteren Artikel bei Codeproject gefunden an den ich mich erstmal halten werde. Aritkel
falls ihn wer brauch 😃

Gruß Kaji

M
194 Beiträge seit 2008
vor 15 Jahren

Ich hatte mich auch mal mit dem Thema auseinandergesetzt und ein kleines Beispielsnippet bei mir auf die Website geladen: http://mrleeh.de/mrleeh/archives/186-.NET-DLL-als-COM-zugaenglich-machen.html

"Indem Sie über dieses ernste Thema lachen disqualifizieren Sie sich selbst."
mrleeh.de

4.506 Beiträge seit 2004
vor 15 Jahren

Hallo zusammen,

das Thema "Wie erstelle ich eine COM Klasse" gibt es auch zur Genüge hier im Forum zu finden:
C# DLL für VB6 schreiben

Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”

K
Kaji Themenstarter:in
593 Beiträge seit 2007
vor 15 Jahren

Oh vielen Dank ! 😃 Da hab ich einiges zum reinarbeiten. Ehrlich gesagt hatte ich nicht gewusst wonach ich direkt in der forenssuche arbeiten sollte. Bei COM kamen zig threads mit einbinden von COM DLLS in C#. Naja gut danke ! 😃

Gruß Kaji

K
Kaji Themenstarter:in
593 Beiträge seit 2007
vor 15 Jahren

So ^^ Ich hab es soweit hinbekommen das es funktioniert. Delphi ist da noch bisschen fies aber es geht. Hier ne kleine Hilfe wenn es wer anderes brauch der Post von MRoos ist sehr gut.

Gruß Kaji

K
Kaji Themenstarter:in
593 Beiträge seit 2007
vor 15 Jahren

Hallo^^ Jetzt hab ich leider das nächste problem.. Ich würde jetzt gerne Delphi ein event aus der managed dll abonnieren lassen. Prinzipiell sollte das gehen aber wie mache ich das mit den EventArgs? Ich müsste mehrere Sachen über das Event übergebe hmm.

Gruß Kaji

F
10.010 Beiträge seit 2004
vor 15 Jahren

Eventargs ist eine Convention innerhalb von .NET.
Du musst dich da bei COM nicht dran halten, und übergibst die Daten, die du benötigst.

K
Kaji Themenstarter:in
593 Beiträge seit 2007
vor 15 Jahren

Ahhh danke!

hab auch gerade in diesem Post gesehen das herbivore auch eine "nicht" microsoft empfohlene Event deklarierung mit delegate geht. Das ist sehr schön 😃 Auf jedenfall probier ich mal ob das delphi einfach meine Events schluckt.

Gruß Daniel

3.971 Beiträge seit 2006
vor 15 Jahren

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...

K
Kaji Themenstarter:in
593 Beiträge seit 2007
vor 15 Jahren

Hallo,

nachdem ich jetzt viele Beispiele gesehen habe wie ich in C# Events für COM bereitstelle bin ich mir recht sicher das ich es richtig gemacht habe. Nur ist das Problem jetzt Delphi... Ich weiß nicht ob hier jemand ahnung von Delphi hat aber ich frag einfach mal jemand COM Events mal in Delphi benutzt hat? Man muss wohl nen Wrapper schreiben was wohl eigentlich EventSinkImp abnehmen soll. Dieser wirft mir aber fehler bei manchen Dateitypen die von .Net kommen aber ich gar nicht in meiner DLL verwende oO. Naja vielleicht hat ja jemand ne Idee? Oder ich muss mal in nem Delphi Forum posten.

Gruß Kaji