Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Von Delphi Win32 auf .NET Assemblies zugreifen?

  Alt 8. Jul 2009, 08:25
Du kannst schon eine ganze Menge über mscoree.dll erreichen.
Damit kannst du Assemblies laden, deren Typen enumerieren und Instanzen anlegen. Das ganze nutzt .Nets ComInterop Technologien, hauptsächlich runtime callable wrappers. (Hydra basiert darauf, CrossTalk und "managed VCL" wahrscheinlich auch)

Es gibt auch die Möglichkeit eine .Net Assembly in eine richtige DLL zu verwandeln.
Oxygene kann in den neuesten Versionen (unter dem "Delphi Prism"-Banner) Funktionen exportieren wie man es von nativen DLLs kennt.
Ich habe mir schon vor einer ganzen Weile einen Satz von Assemblies und dazugehörigem MSBuild-Task gebaut, der es ermöglicht das mit jeder .Net Sprache zu tun.
Man muss statische Methoden nur noch mit DllExport anstatt DllImport markieren und er wird dann die Assembly so anpassen dass diese Methode exportiert wird.

Ich hatte schon ewig vor das mal auf Google Code oder sonstwo zu veröffentlichen, du kannst mir aber eine PN schicken und ich würde dir einfach das geben was ich habe.
Mir ist kein Issue bekannt und ich nutze es in ein paar Projekten als Teil des normalen Builds. (Ist also nicht buggy,bleeding edge *g*)
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat