Einzelnen Beitrag anzeigen

Karl-Heinz

Registriert seit: 12. Nov 2003
Ort: Waldkirch
12 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: ActiveX - Non blocking calls

  Alt 14. Nov 2003, 10:21
Hallo Bernd,
der Fehler lag woanders. Trotzdem danke für Deine schnelle Antwort, die aber so nicht funktioniert:

procedure XServerDings.showhelp(helpidx: longint); // egal
begin
with helpwnd.create(nil) do // oder application oder was auch immer
begin
findhelp(helpidx);
show; // Non-blocking, aber ActiveServer ist gleich wieder weg, Fenster flackert nur kurz auf...
end;
end; //

Der Fehler war, dass ich Depp im Clientprogramm die Olevariable lokal gemacht habe. Wenn raus aus der lokalen Methode (hier: Button1.onclick(..), dann wird natürlich auch die Variable zerstört.
Solche Dummheiten kosten Stunden unseres Programmiererlebens :-;

ok, hier isser nun raus, Client lebt weiter, aber das "Hilfe"-Fenster aus ActiveX-Server flackert
nur kurz auf und verschwindet dann wieder. Ich nehme an, dass die ActiveX-Application keine "Lebensdauer" hat. Kenne mich aber mit ActiveX zuwenig aus.

Der Aufruf aus Client läuft etwa so:
var
v: variant;
begin
v:= CreateOleObject(pchar('adelphi.meinprog'));
v.showhelp(1);
// nein, v wird nicht "unassigned" und sollte eigentlich weiterleben...
end; // raus und ... tot!
  Mit Zitat antworten Zitat