AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Neustart des eigenen Programms

Ein Thema von MCXSC · begonnen am 3. Sep 2004 · letzter Beitrag vom 4. Sep 2004
Antwort Antwort
Seite 1 von 2  1 2      
MCXSC
(Gast)

n/a Beiträge
 
#1

Neustart des eigenen Programms

  Alt 3. Sep 2004, 14:05
Gibt es in Delpi die Möglichkeit, auf Knopfruck einen Neustart des eigenen Programms zu machen?
  Mit Zitat antworten Zitat
Benutzerbild von Bowler
Bowler

Registriert seit: 8. Sep 2003
Ort: Bochum
148 Beiträge
 
Delphi XE7 Enterprise
 
#2

Re: Neustart des eigenen Programms

  Alt 3. Sep 2004, 14:08
Willst du eine 2. Instanz öffnen, oder das erste vorher beenden? Also:

1. Knopf drücken
2. Programm beenden
3. Programm starten

Oder:

1. Knopf drücken
2. Programm starten
Christian Rüsken
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: Neustart des eigenen Programms

  Alt 3. Sep 2004, 14:08
Hi MCXSC,

du könntest ein Programm starten, welches dein Programm nach einer Zeitspanne neu startet. Nachdem du dieses Zwischenprogramm gestartet hast, beendest du dein Programm und die Sache ist erledigt.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#4

Re: Neustart des eigenen Programms

  Alt 3. Sep 2004, 14:25
Ja, daran habe ich auch schon gedacht. Aber man kann das Programm nicht doppeltstarten... Und das ist mein Problem.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#5

Re: Neustart des eigenen Programms

  Alt 3. Sep 2004, 14:33
Probier mal das:

0. Zwischenprogramm als Ressource in dein Programm einbinden
1. Dein Programm extrahiert Zwischenprogramm
2. Dein Programm startet Zwischenprogramm
3. Dein Programm beenden
4. Zwischenprogramm startet dein Programm
5. Dein Programm beendet dein Zwischenprogramm
6. Dein Programm löscht Zwischenprogramm

Ist etwas umständlich aber sollte vom Prinzip her funktionieren.
Thomas
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#6

Re: Neustart des eigenen Programms

  Alt 3. Sep 2004, 14:44
Oder du schreibst dir eine Batch-Datei, die du dann beim Beenden aufrufst.
Alexander
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#7

Re: Neustart des eigenen Programms

  Alt 3. Sep 2004, 14:58
Meinst du aus der IDE heraus?

Wenn ja gibt es einen Weg:

1) CTRL+F2
2) F9

Dadurch wird dein Programm aus dem Speicher entfernt und wieder gestartet.
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#8

Re: Neustart des eigenen Programms

  Alt 3. Sep 2004, 16:30
Is doch ganz einfach

1. Du startest das programm - instanz 2 - mit einem parameter und dem handle von instanz 1
2. Direkt beim start von instanz 2 machst du eine schleife, die so lange wartet bis inst 1 beendet
2. du beendest instanz 1
3. die schleife wird verlassen und instanz 2 läuft wie gewohnt!

Klingt doch gut und man braucht keine anderen programme oder batch dateien
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Benutzerbild von SleepyMaster
SleepyMaster

Registriert seit: 18. Mai 2003
634 Beiträge
 
#9

Re: Neustart des eigenen Programms

  Alt 3. Sep 2004, 18:04
Jo! Ich machs auch immer so:

Delphi-Quellcode:
program Project1;

uses
  Forms,
  windows,
  Sysutils,
  Unit1 in 'Unit1.pas{Form1};

{$R *.res}

var
  s:string;
  i:integer;

begin
  if Paramcount >= 2 then
    if Paramstr(1)='abcthen
      begin
      for i:=1 to Length(Paramstr(2))do
        if (Paramstr(2)[i]>='0') and (Paramstr(2)[i]<='9') then
          s:=s+Paramstr(2)[i];
      while IsWindow(strtoint(s))do
        sleep(1);
      end;
  //Mutex erst hier einfügen
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Handle, 'open', pchar('"'+paramstr(0)+'"'), pchar('abc '+inttostr(Handle)), nil, SW_SHOW);
close;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Neustart des eigenen Programms

  Alt 3. Sep 2004, 18:40
Wäre es nicht sinnvoller eine Prozedur zu schreiben, die alle einstellungen wieder zurücksetzt, als da so einen Krampf zu programmieren? Oder hat das ganze einen tiefern Sinn?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:20 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