001
11.05.2004, 12:54 Uhr
Bruder Leif
dances with systems (Operator)
|
Moin!
In C# musst Du dazu GUIDs für Deine Klassen und DispIDs für die Methoden vergeben und diese von öffentlichen Interfaces (wieder mit GUID) ableiten, und in den Compileroptionen die Registrierung als COM-Objekt anschalten. Wie das mit Managed C++ aussieht, keine Ahnung, damit hab ich mich noch nicht so groß auseinandergesetzt. In C# sieht das z.B. so aus:
C++: |
//using System.Runtime.InteropServices; // ////------------------------------------------------------------------------------ // //[Guid("315572E1-3066-4164-90E2-022FD4B5BE7D")] //public interface HsExportInterface //{ // [DispId(1)] // void AddTable(string table); // [DispId(2)] // void Export(string fileName, string commentText); //} // ////------------------------------------------------------------------------------ // //[Guid("DA9E6427-9B94-4029-9E5F-CBDD2233E07E"), InterfaceType(ComInterfaceType.InterfaceIsIDispatch)] //public interface HsExportEvents //{ // [DispId(3)] // event HsImExStartEvent OnStart; // // [DispId(4)] // event HsImExStartTableEvent OnStartTable; // // [DispId(5)] // event HsImExNotification OnWriteFile; // // [DispId(6)] // event HsImExNotification OnDone; //} // ////------------------------------------------------------------------------------ // //[Guid("0649BB86-1279-4455-ACFC-1CC1D41C337D"), ClassInterface(ClassInterfaceType.None), ComSourceInterfaces(typeof(HsExportEvents))] /// <summary> /// Ermöglicht das Exportieren beliebiger Tabellen aus einer OleDB-Datenbank in eine XML-Datei. /// </summary> public class HsExport: HsImExBase//, HsExportInterface { ... }
|
Das sollte schon mal ein paar nette Anhaltspunkte für die integrierte Hilfe bieten... -- Mit 40 Fieber sitzt man nicht mehr vor dem PC. Man liegt im Bett. Mit dem Notebook. Dieser Post wurde am 11.05.2004 um 12:58 Uhr von Bruder Leif editiert. |