Autor Beitrag
jping
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mo 21.04.08 16:26 
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:

ausblenden 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

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 721
Erhaltene Danke: 3



BeitragVerfasst: Sa 26.04.08 17:34 
Evtl. gehts mit Managed VCL (www.managed-vcl.com/)