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... { [...] 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