Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.051 Beiträge
 
Delphi 12 Athens
 
#2

Re: Programm auf eigenem "Desktop" ausführen

  Alt 27. Feb 2010, 15:22
MSDN-Library durchsuchenCreateDesktop Hier im Forum suchenCreateDesktop
aber nicht vergessen, der Thread, mit welchem dieses "Fenster" angezeigt werden soll, darf kein "Fensterhandle" irgendeiner Art auf einem anderem Desktop besitzen, sonst kann man nicht auf den anderen/neuen Desktop wechseln und dort ein Fenster erzeugen.

Heißt, wenn du mit der VCL arbeiten willst, daß du 2 Programme oder zumindestens 2 Programminstanzen benötigst, da die VCL einige "unsichtbare" Fenster zur Verwaltung im Hauptthread erstellt.
Wegen diesen kannst du den Hauptthread nicht auf den anderen Desktop übergeben und die VCL kann/darf man aber nur von Hauptthread aus verwenden.

Ergo:
- Programm 1 erstellt Desktop
- Programm 1 macht diesen Desktop sichtbar
- Programm 1 startet Programm 2 geziehlt auf diesem Desktop
- Programm 2 arbeitet
- ...
- Programm 2 beendet sich und übergibt die Kontrolle an Programm 1
- Programm 1 macht den ursprünglichen Desktop wieder sichtbar
- Programm 1 löscht den erstellten Desktop

(Programm 2 kann auch eine weitere Instantz des 1. Programms sein)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat