Zitat von
SirThornberry:
Hast du denn, wie ich es geschrieben hab, das ganze in einen Thread ausgelagert? Das Create dürfte der falsche ort sein denn du kannst die Exe auch mit doppelklick öffnen um Dinge anzuzeigen etc. Zu dem Zeitpunkt sind also mit hoher Wahrscheinlichkeit Handles offen.
Des mit dem in einem Thread auslageren muss ich überlesen haben. Naja k ich habs jetzt jedenfalls in einem thread ausgelagert und nun funktioniert SetThreadDesktop schon mal.
Nur die Form wird immer noch nicht angezeigt.
Das Problem ist glaub ich des er irgendwie nach dem show abstirbt:
Delphi-Quellcode:
if SetThreadDesktop(lDesktop) then
begin
Log('Erzeuge Form');//Wird ausgeführt
Form1 := TForm1.Create(nil);//Wird ausgeführt
Form1.Show;//Wird ausgeführt
Log('Form wurde erzeugt');//Wird NICHT ausgeführt
end;
Aber warum solltet beim create schon handels offen sein?