AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi [Unit für Delphi >= 2010] Eigene Anwendung neu starten
Thema durchsuchen
Ansicht
Themen-Optionen

[Unit für Delphi >= 2010] Eigene Anwendung neu starten

Ein Thema von Björn Ole · begonnen am 4. Aug 2011 · letzter Beitrag vom 8. Aug 2011
 
Benutzerbild von Björn Ole
Björn Ole

Registriert seit: 10. Jul 2008
166 Beiträge
 
Delphi XE Professional
 
#3

AW: [Unit für Delphi >= 2010] Eigene Anwendung neu starten

  Alt 6. Aug 2011, 17:28
Danke für die Vorschläge, ich arbeite mich mal durch:

Der Restarter ist ein class helper für TApplication und initialisiert sich selbst über die init-Routine der Unit.
Vom Programmcode her schöner find ich das nicht, allerdings hast du Recht, ist besser wenn man die Unit auch mit älteren Delphi Versionen benutzen kann. Ich hab es mal geändert.

Das hätte den Vorteil, das sich der "Aufwand" auf das Einbinden der Unit beschränkt
Die GUID muss allerdings immer noch irgendwo gesetzt werden, das wär ja unschön wenn man dafür in die Unit rein muss. Daher wird das Initialize wohl bleiben müssen.

1. Warum "if ParamStr(1)=" und nicht "FindCmdLineSwitch()"?
Die Funktion kannte ich noch gar nicht, danke, hab sie eingebaut.

2. Wenn bereits eine Instanz läuft, solltest Du die Parameter an diese weitergeben. Z.B. per Named Pipe.
Gute Idee, allerdings kommen mir Named Pipes dafür etwas zu umfangreich vor. Ich hab sie noch nie benutzt, von dem was ich lese scheint es mir aber etwas Overkill zu sein. Warum übergebe ich an ShellExecute nicht einfach CmdLine + ' restart' . Einwände?

3. Für Vista und später solltest Du eine Elevate-Möglichkeit einbauen (verb "runas" statt "open").
Verstehe nicht genau, was du meinst. open reicht doch alle Rechte weiter. Mit runas springt bei mir z.B. beim Neustart die UAC an, was ja nicht immer von Nöten ist.

4. Auf Rechnern mit Terminal Services (also auch Fast User Switching) könntest Du Probleme haben. Gib dem Semaphor vllt. besser mal nen "Local\"-Prefix.
Ist erledigt.

Für weitere Ideen bin ich immer dankbar. Werde noch etwas testen und dann bald die aktualisierte Unit posten.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:52 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