heyho...
hab' ein Problem mit der Initialisierung eines COM-Servers aus einer DLL heraus:
Ich habe eine Java-Anwednung, die - logischerweise - kein COM versteht. Also gehe ich den "Umweg" eine DLL-Datei in Delphi zu entwickeln, die mir diesen Part abnimmt. Ich rufe also über das JNI von Java diese DLL auf und übergeb ihr einen (xml)String. Soweit so gut. Bis hier hin geht's, der String kommt auch sauber in der DLL an!
Nun muss dieser String an eine andere (Windows-basierte) Anwedung weitergegeben werden. Dafür stellt diese Anwendung einen COM-Server zu verfügung, den ich aus der DLL instanzieren will. Nach mehreren Wortwechseln im Delphi-Treff-Forum, kam ich dann soweit, dass ich den Aufruf TProcedure(InitProc); [Danke auch an A. Kosch und sein COM-Buch ;-)]und CoInitialize(nil); setzen muss. Trotzdem gibt's auch dann noch (zumindest bei diesem spez. COM-Server) eine Read-Schutzverletzung... Bei anderen COM-Servern (z.B. XMLDOMDocument) läuft's damit...
Nun meine Frage: was muss ich alles beachten, wenn ich einen COM-Server aus einer DLL, bzw durch aufruf einer reinen Java-Konsolenanwendung (als Client) instnzieren will??? Wie bekomme ich den doofen Read-Fehler weg???
greetz
Christian
hab' ein Problem mit der Initialisierung eines COM-Servers aus einer DLL heraus:
Ich habe eine Java-Anwednung, die - logischerweise - kein COM versteht. Also gehe ich den "Umweg" eine DLL-Datei in Delphi zu entwickeln, die mir diesen Part abnimmt. Ich rufe also über das JNI von Java diese DLL auf und übergeb ihr einen (xml)String. Soweit so gut. Bis hier hin geht's, der String kommt auch sauber in der DLL an!
Nun muss dieser String an eine andere (Windows-basierte) Anwedung weitergegeben werden. Dafür stellt diese Anwendung einen COM-Server zu verfügung, den ich aus der DLL instanzieren will. Nach mehreren Wortwechseln im Delphi-Treff-Forum, kam ich dann soweit, dass ich den Aufruf TProcedure(InitProc); [Danke auch an A. Kosch und sein COM-Buch ;-)]und CoInitialize(nil); setzen muss. Trotzdem gibt's auch dann noch (zumindest bei diesem spez. COM-Server) eine Read-Schutzverletzung... Bei anderen COM-Servern (z.B. XMLDOMDocument) läuft's damit...
Nun meine Frage: was muss ich alles beachten, wenn ich einen COM-Server aus einer DLL, bzw durch aufruf einer reinen Java-Konsolenanwendung (als Client) instnzieren will??? Wie bekomme ich den doofen Read-Fehler weg???
greetz
Christian
Comment