![]() |
Procedure unterbrechen
Hallo,
Wollte mal fragen ob es möglich ist eine Procedure zu unterbrechen? Als zb. im Durchlauf einer Procedure eine andere Form auf zumachen, eine Variable zu setzen und diese Form zu schießen. Dabei läuft dann die Procedure weiter. Danke. |
Re: Procedure unterbrechen
du kannst ja so arbeiten:
Delphi-Quellcode:
bei Forms anzeigen ist dies aber schon möglich: mit showmodal anstatt show.
formshow;
while form.visible do begin end; weitermachen; |
Re: Procedure unterbrechen
Zitat:
Bei der von Michael propagierten Methoden kannst du mit deinem neu geöffneten Fenster nichts machen. Du müsstest innerhalb der Schleife ProcessMessages() aufrufen, sinnvollerweise gepaart mit einem Aufruf von "sleep(1)". Ansonsten würde die Schleife den einzig vorhandenen Thread in einer gewöhnlichen VCL-Anwendung blockieren und dein Programm reagiert nicht mehr. |
Re: Procedure unterbrechen
Zitat:
Wozu dann das Ganze? Meinst du vllt etwas in der Art wie:
Delphi-Quellcode:
procedure WeissDerGeier;
var form:tFuckingForm; begin form := tFuckingForm.Create(nil); form.VarXY := 'was guckst du?'; form.showmodal; form.Free; end; |
Re: Procedure unterbrechen
Hi @,
Erstmal danke für eure schnelle Hilfe. Ich muß da wohl etwas näher Erklären was i will . Ev. gibt es da auch einen besseren Weg. Also: Die Form wo gestartet wird macht eine Connection über das ganze Programm hinweg zu einer Datenbank . Der Servername gebe ich als Const im Sourcecode an und auch verwende die const im ganzen Programm weiter. Ich will aber die möglichkeit haben den Server beim Programm start zu switchen. Ev. mit Taste xy drücken beim Start bevor er die Verbindung aufgebaut hat. Dann kann ich auf der 2. Form den anderen Server wo ich vorgebe wählen und dann macht er in der Procedure weiter mit der neuen var. Dazu müßte ich dann die const in eine Var. umwandeln. Hat ev. jemand eine bessere Lösung?. bin für alles offen. |
Re: Procedure unterbrechen
Wo du schonmal beim Erklären bist - zu welchem DBMS verbindest du, mit welchen Komponenten? Sind die Datenbanken, zwischen denen du umschalten möchtest, vom selben Typ? Enthalten sie die gleichen Tabellen - sprich ist das Datenmodell identisch?
Grüße vom marabu |
Re: Procedure unterbrechen
[quote="tomsel"]
Zitat:
|
Re: Procedure unterbrechen
OT:
[quote="alzaimar"] Zitat:
|
Re: Procedure unterbrechen
Warum nicht die procedure in neuem Thread starten und nach jeder zeile überprüfen ob sie eitermachen soll :D
ok passt nich ganz |
Re: Procedure unterbrechen
Ich weiß ja nicht, aber dürfte
Delphi-Quellcode:
nicht reichen?
Bedingung := FALSE;
... while not Bedingung do begin Application.ProcessMessages; end; ... air P.S.: Das 'T' schreibt man normal groß, da es für "Type" steht ;) ("TFormBla","TMyType",...) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 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