Das Programm hat normalerweise nur einen Thread, den Standardthread.
Allerdings benutze ich auf einem Formular ('Process', im Anhang 2 zu sehen) die VC
TDosCommand. Damit führe ich das Befehlszeilenprogramm openssl.exe aus.
Direkt nach dessen Beendung wird auch das Formular Unlock aufgerufen.
TDosCommand bildet zur Ausführung des Programms zwar einen eigenen Thread (TThread), das weiß ich aus der Unit der VC. Allerdings ist dieser schon wieder geschlossen, wenn das FormUnlock angezeigt wird.
Außerdem habe ich ähnliche Probleme mit Anzeigen von FormUnlock, wenn ich es einfach vom Hauptformular meines Projektes aufrufe - zb. mit Onclick-Event - zu diesem Zeitpunkt wurde TDosCommand noch gar nicht benutzt, und das Hauptformular enthält ja auch kein TDosCommand-Objekt...
Ich forste nochmal den Sourcecode der Komponente durch.
Trotzdem schon mal
vielen Dank!
--- EDIT ---
An der Komponente DosCommand und ihrem eigenen Thread kann es nicht liegen. Ich habe sie zum Test einmal
komplett aus meinem Programm entfernt... Also bleibt da nur noch der Main-Thread.
Durch Zufall (Einfügen eines
Breaks) bin ich auf noch mehr Probleme gestoßen:
So macht schon das aufrufen des Create Konstruktors einer TRegistry-Variable Probleme, die ich zum lesen der Optionen in der Win-Registry benutze:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TFormOptions.LoadOptions; var Reg: TRegistry Buffer: TStrings;
begin Reg := TRegistry.Create; Buffer := TStringList.Create; end; |
Jetzt weiß ich nicht mehr so genau, was ich noch machen soll
