Problem mit ActiveQt -- DCOM (Windows)

Alles rund um die Programmierung mit Qt
Antworten
Ralf Weber
Beiträge: 1
Registriert: 15. Dezember 2004 12:23

Problem mit ActiveQt -- DCOM (Windows)

Beitrag von Ralf Weber »

Hallo zusammen!
Ich verwende das activeqt-framework um eine applikation in eine windows-COM/OLE
komponente zu 'überführen' und als 'out-of-process server' bereitzustellen.
Motivation ist, diese komponente mit hilfe der windows-DCOM architektur auf einem
remote-computer zu fernzusteuern.

Registrierung und aktivierung des servers, sowie das ansteuern des servers
von einer client-applikation, bzw. über einen 'test-container' für activeX komponenten,
klappt auf ein und der selben maschine auch vorzüglich :D !!!

Über netzwerk gibt es jedoch ein problem! :(
Auf der remote maschine wird der server gestartet und macht sich im mem. breit
('Task-Manager'), bzw. wieder entfernt wenn der client geschlossen wird.
Die methode zum aktivieren des servers 'ax->setControl
("<domain/user>:<password>@<rechnername>/{01234567-89ab-cdef-0123-456789abcdef}");'
returniert mit 'true'
ABER
der INHALT des client-fensters bleibt eingefroren ??? :cry:

Dieses verhalten ist identisch bei dem Qt-example 'A simple ActiveQt control (executable)'
(falls man versucht dieses auf einer anderen maschine zu starten) !!!

Hat vieleicht jemand eine idee was da schief läuft?
Im voraus vielen dank für eure unterstützung
mfg
Ralf
ArneStocker
Beiträge: 300
Registriert: 3. November 2004 16:15
Wohnort: Berlin

Beitrag von ArneStocker »

Hi Ralf,

Ich habe mir schon vor 8 Jahren abgeschminkt, irgendwas ernsthaftes mit OLE und AktiveX zu machen und deshalb habe keine Vorstellung davon, wie diese 'Komponenten' sich im Netz verhalten. Sicher sind sie nicht für den Netzbetrieb optimiert.

Ein Bekannter hat mir mal berichtet, dass er über OLE einen WordServer (für Faxe) programmmiert hatte. Es funktionierte auch grundsätzlich alles einwandfrei. Sobald Word jedoch einen Dialog aufpoppte, tat es das auf dem 'Server' mit der Folge, dass alle Clients standen, bis jemand zu dem Raum mit dem 'Server' ging und den OK Button drückte (soviel zu OLE).

Vielleicht wartet Dein 'Server' einfach nur auf ein Ereigniss (und zwar auf der remote maschine und nicht auf dem client)


Gruss Arne (und sorry, dass ich nur raten kann)
Antworten