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
 
#1

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

  Alt 4. Aug 2011, 12:24
Huhu,

ich möchte hier mal eine Unit zur Verfügung stellen, die das Neustarten der eigenen Anwendung sehr leicht gestaltet. Als Nebeneffekt kann es auch nur maximal eine laufende Instanz der Anwendung geben.

Zuerst muss die Unit in die uses Liste der .dpr (Project -> View Source) am besten als erstes eingebunden werden. Danach sollte noch mittels Strg+Shift+G eine GUID erzeugt und mit der vorhandenen ersetzt werden. Anschließen muss die Unit zusätzlich noch dort eingebunden werden, wo die Restart Methode aufgerufen werden soll, also z.B. in der Unit1.pas.

Kleines Beispiel:

Die .dpr
Delphi-Quellcode:
program Project1;

uses
  // Unit einbinden \\
  uApplicationRestarter in 'uApplicationRestarter.pas',
  // Alle weiteren Units ... \\
  Forms,
  Unit1 in 'Unit1.pas{Form1} ,

{$R *.res}

begin
  // Diese zwei Zeilen einfügen und GUID abändern. \\
  if not TApplicationRestarter.Initialize(Application.Handle, '{33EB3B5C-9A2C-4E85-805C-FFD49C1AD468A}') then
    Exit;
  // Ab hier gehts normal weiter \\

  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
  Application.Run;

end.
Will man neu starten, dann einfach so:
Delphi-Quellcode:
uses uApplicationRestarter;

{...}

procedure TForm1.Button1Click(Sender: TObject);
begin
  TApplicationRestarter.Restart;
end;
Restart() gibt einen Boolean zurück, bei False kann man mittels GetLastError mit dem genauen Fehlergrund weiterarbeiten. Das Ganze geht leider erst ab Delphi 2010. Die Unit hab ich unter XE geschrieben und getestet, sollte aber auch unter 2010 laufen. Werde ich in den kommenden Tagen testen.

Für Verbesserungsvorschläge wär ich sehr dankbar.
Angehängte Dateien
Dateityp: pas uApplicationRestarter.pas (4,1 KB, 28x aufgerufen)
  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 22:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz