Entwickler-Ecke

Andere .NET-Sprachen - C# DLL in Delphi 5 benutzen, ohne Registrierung


jping - Mo 21.04.08 17:26
Titel: C# DLL in Delphi 5 benutzen, ohne Registrierung
Hallo Forum.

Ich habe eine DLL in C# geschrieben und möchte diese in Delphi 5 nutzen.
Soweit so gut, Einschränkung die DLL darf nicht im System registriert werden.
Auch soweit kein Problem:

Ich habe mit CorBindToRuntimeEx eine .NET Runtime Umgebung erstellt und dann die COM Objekte mit
folgendem Code erstellt:

Zitat:
[...]
var
Objekt : Interfacetype;
[...]

NetClassName := 'MyNamespace.ClassName';
ClrCreateManagedInstance( PWideChar(NetClassName), Interfacetype, Objekt);


Kann auch mit "Objekt" arbeiten.

Jetzt habe ich aber in C# noch ein weiteres Interface für Events definiert:


C#-Quelltext
1:
2:
3:
4:
5:
6:
  [Guid("FC763F79-5020-4388-8317-BBC0F174F6BA")]
  [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
  public interface IMyEvents
  {
    void SayHelloEvent();
  }


und dies mit


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
  [Guid("3E2C0993-BDD3-4acc-9C54-C85841938195"),
   ClassInterface(ClassInterfaceType.None), 
   ComSourceInterfaces(typeof(IMyEvents))]
   public class... {
   [...]
       // Events
    public delegate void SayHelloHandler();
    public event SayHelloHandler SayHelloEvent;
   [...]
   }


auch "eingebaut".

Allerdings stellt mit "Objekt" dieses Event nicht zur Verfügung.
Hat da irgendwer nen Tipp für mich?

Vielen Dank schonmal

MfG
jping


Bernhard Geyer - Sa 26.04.08 18:34

Evtl. gehts mit Managed VCL (http://www.managed-vcl.com/)