Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm "resetten" ? (https://www.delphipraxis.net/61931-programm-resetten.html)

Assun 28. Jan 2006 10:02


Programm "resetten" ?
 
Hi !

Gibt es in Delphi von Haus aus eine Möglichkeit, das Programm zu "resetten" ?

Also mit einem Click, das ganze Programm neuladen ohne es zu beenden ?

Ich möchte also z.b. wenn CheckBox1-22 angeklickt wurde und gerade irgend eine Schleife läuft, dass ich mit einem Knopf alles zurücksetze und auch die procedures abbreche...

Das alles von Hand zu coden wäre sehr aufwendig.

Gibt es also einen Weg, den Delphi von sich aus bereits mitbringt ?

Form1.Reset gibts leider nicht ;)

3_of_8 28. Jan 2006 10:04

Re: Programm "resetten" ?
 
Du könntest in deinen Programmquellcode zwischen begin und end noch ne Endlosschleife setzen.

Aber dann musst du das Programm auch mit Application.Terminate beenden.

Sämy 28. Jan 2006 11:13

Re: Programm "resetten" ?
 
Einfach mal ne Idee:

Starte zu Beginn des Programmes ein Thread in dem du alle Abläufe ausführst.
Wenn du nun das Programm resetten willst, musst du einfach den Thread neu starten...

Assun 28. Jan 2006 11:45

Re: Programm "resetten" ?
 
Zitat:

Zitat von Sämy
Einfach mal ne Idee:

Starte zu Beginn des Programmes ein Thread in dem du alle Abläufe ausführst.
Wenn du nun das Programm resetten willst, musst du einfach den Thread neu starten...


Ohje ^^

leider habe ich keine Ahnung von Threads :(


Zitat:

Zitat von 3_of_8
Du könntest in deinen Programmquellcode zwischen begin und end noch ne Endlosschleife setzen.

Aber dann musst du das Programm auch mit Application.Terminate beenden.

Also das hab ich jetzt nich kapiert...

Luckie 28. Jan 2006 11:48

Re: Programm "resetten" ?
 
Ich weiß auch nicht, was du da mit einem Thread sollst. Schreib dir eine Prozedur, die dir alle Labels, Edits, Checkboxen usw. wieder auf den Ursprungszustand zurücksetzt und gut ist.

Assun 28. Jan 2006 11:50

Re: Programm "resetten" ?
 
Zitat:

Zitat von Luckie
Ich weiß auch nicht, was du da mit einem Thread sollst. Schreib dir eine Prozedur, die dir alle Labels, Edits, Checkboxen usw. wieder auf den Ursprungszustand zurücksetzt und gut ist.

Das wäre dann halt die Hau-Drauf-Methode ;)

Die Methode war mir auch bekannt aber finde die halt etwas umständlich und wollte mal fragen ob Delphi da von Haus aus was mitbringt.

Dem scheint aber nicht so :P

Luckie 28. Jan 2006 11:53

Re: Programm "resetten" ?
 
Wie so ist das die hau drauf Methode? Das ist ganz normales Vorgehen. Un dnicht vergessen die globalen Variablen mit zurückzusetzen.

Assun 28. Jan 2006 11:54

Re: Programm "resetten" ?
 
Naja "hau-drauf" war wohl der falsche Ausdruck ;)

Ich meine Damit, dass es eben sehr umständlich ist (meiner meinung nach).

Habe auch schon überlegt ob ich einfach das Programm kurz schliessen soll, und danach ne batch erstellen + starten, die das Programm wieder startet aber das is auch nich gerade elegant.

ichbins 28. Jan 2006 12:10

Re: Programm "resetten" ?
 
so geht das mit der Endlosschleife:

projekt -> optionen -> Quelltext anzeigen

jetzt hast du den Projektquelltext. Dann machst du um den ganzen Code eine while true bzw. while not closed schleife rum, und wenn du das Programm mit application.terminate beendest, dann wird die form freigegeben und neu erstellt und auch die application-Variable neu initialisiert. nur die gloabelen Variablen bleiben gleich.

oder natürlich so:
Delphi-Quellcode:
shellexecute(paramstr(0));
application.termiante;

Assun 28. Jan 2006 12:16

Re: Programm "resetten" ?
 
das ist ja mal genial !

Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', PChar(paramstr(0)), Nil, Nil, SW_NORMAL);
Application.Terminate;
hätte nie gedacht das das geht !

BIG THX !


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:40 Uhr.
Seite 1 von 2  1 2      

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