![]() |
AW: Neustart der Applikation aus Stabilitätsgründen...
Zitat:
|
AW: Neustart der Applikation aus Stabilitätsgründen...
Zitat:
Delphi-Quellcode:
WindowState := TWindowState.wsMaximized;
BorderStyle := bsNone; BoundsRect := Screen.MonitorFromWindow(Handle).BoundsRect; |
AW: Neustart der Applikation aus Stabilitätsgründen...
Zitat:
Teste es doch einfach dann wirst du sehen das es das tut was es soll. Ohne nennenswerte Problem im Bruchteil einer Millisekunde. Es ist so schnell das es gar nicht ins Gewicht fällt oder man es merkt das die Anwendung neu gestartet wird. Wichtig ist das Ergebnis nicht die art und weise wie dieses erreicht wird. |
AW: Neustart der Applikation aus Stabilitätsgründen...
Zitat:
Ich hatte eigentlich eher bedenken wann ich den Neustart durchführe. In meinem ersten Post mache ich das ja im destructor der Main. Alternativ könnte ich das ja auch hinter das "Application.Run" setzen (was ich nun auch gemacht habe...). Das ist dann der letztmöglich Zeitpunkt. |
AW: Neustart der Applikation aus Stabilitätsgründen...
Zitat:
Ich arbeite ja ohne die VCL mit eigener Skinengine von daher habe ich wohl nicht so immense Initialisierung wie du. Ich schicke beim ändern des Skin aus meinen Menu
Delphi-Quellcode:
und fertig.PostQuitMessage(0); Restart := TRUE; Letztendlich zählt das Ergebnis. |
AW: Neustart der Applikation aus Stabilitätsgründen...
Zitat:
Und ja: Letztendlich zählt das Ergebnis. Das Forum hilft halt bei der Meinungsfindung :-). |
AW: Neustart der Applikation aus Stabilitätsgründen...
Zitat:
Zu dem Zeitpunkt sind auch alle Forms und sonstige Komponenten der Anwendung freigegeben, was direkt nach dem Run in der Regel noch nicht der Fall ist. So eine Unit könnte in etwa so aussehen:
Delphi-Quellcode:
unit AutoRestartUnit;
interface var AutoRestart: Boolean = False; AutoRestartCmdLine: PChar; implementation uses Winapi.ShellAPI, Winapi.Windows; initialization AutoRestartCmdLine := CmdLine; finalization if AutoRestart then begin ShellExecute(0, 'open', PChar(ParamStr(0)), AutoRestartCmdLine, nil, SW_SHOW); end; end. |
AW: Neustart der Applikation aus Stabilitätsgründen...
Zitat:
Du kannst einen kleinen Nagel auch mit einer Zange ins Holz hauen, also geht es sozusagen, aber dennoch ist es nicht richtig. Und genau weil zuviele so denken knallt es gern mal, sobald sich mal ein bissl was ändert. Ja, PChar entspricht aktuell PWideChar und das wird sich so schnell nicht nochmal ändern, aber da hört es nicht auf. * Integer anstatt LPARAM/WPARAM/LRESULT als Typen SendMessage/PostMessage * Interger als Cast für einen Pointer * ... |
AW: Neustart der Applikation aus Stabilitätsgründen...
Zitat:
|
AW: Neustart der Applikation aus Stabilitätsgründen...
Delphi hängt Units nur an, wenn es der Meinung ist, etwas würde fehlen.
Was drin war, bleibt erhalten. Ausnahme: Das USES in der DPR, vor allem die Units mit IN, welches vom Projektmanager verwaltet wird. Da hier das Uses dabei komplett neu geschrieben wird, kann/wird es passieren, dass z.B. Formatierungen, Kommentare und IFDEF verloren gehen. Deine Unit muß hierbei bloß vor/über der "Forms"-Unit liegen, denn Application gibt dort im Finalization noch existierende Forms und DataModule frei. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz