Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - "Warten" in Prozeduren...
splattergnome - Mo 19.05.03 01:45
Titel: "Warten" in Prozeduren...
Hallo!
Es mag zwar nicht sehr fein (programmiertechnisch gesehen), aber ich wollte wissen, ob es einen Weg gibt, eine Prozedur "einzufrieren" und später wieder an die selbe stelle "aufzuwecken".
Mein Beispiel:
Ich eröffene eine neue Form (mit alles drumherrum) in der Mitte von eine Prozedur als erweiterte "Eingabefeld", sozusagen, will aber nicht, daß der Prozedur "weitergeht" bis der neue Formfenster ausgefüllt und geschlossen wird.
Gibt es irgendwelche Möglichkeiten, ohne, daß ich mein Codestruktur ganz von vorne anfangen muß? Danke!
splatty
MKehrer - Mo 19.05.03 08:37
plaziere diesen Code in Deiner Procedure
Delphi-Quelltext
1: 2: 3: 4:
| waiting:=true; Repeat Application.ProcessMessages Until not Waiting; |
Die Var waiting kannst Du dann von wo anders setzen
ErnestoChe - Mo 19.05.03 08:40
Hi
mit Sleep kannst du die Prozedur für eine gewisse Zeit warten lassen:
in diesem Fall wartet die Prozedur 5 sekunden bis sie mit der nächsten Anweisung fortfährt.
MFG
- Ernesto -
Udontknow - Mo 19.05.03 09:08
Hi!
Rufe einfach "EingabeForm.ShowModal" anstelle von "Eingabeform.Show" auf.
Cu,
Udontknow
Delete - Mo 19.05.03 10:36
@UDontKnow:
Ich dachte schon, niemand kommt darauf das Fenster modal zu öffnen. :shock:
Udontknow - Mo 19.05.03 11:31
:mrgreen:
Nicht jeder Thread namens "Warten in Prozeduren" hat was mit sleep zu tun...
splattergnome - Mo 19.05.03 14:39
Titel: Danke!
@MKehrer
Es funktioniert - ich habe im HelpFile über ProcessMessages nachgelesen, es ist gerade das, was ich gesucht habe... DANKE! :-D
@Udontknow
Danke für den Tipp... ich werde versuchen, meine Fenster dynamisch zu erschaffen, schliesslich zählt jede byte RAM! :-)
Danke für eure schnelle Hilfe,
splatty
Udontknow - Mo 19.05.03 14:45
:?:
Jetzt bin ich verwirrt... "Showmodal" hat nichts mit der Speicherbelegung zu tun. TForm.ShowModal zeigt eben einfach ein Fenster an und wartet, bis dieses geschlossen wird.
Quelltext
1: 2: 3: 4: 5: 6:
| procedure Tuwas; begin ShowMessage('Das Fenster wird geöffnet...'); MeinEingabeForm.ShowModal; ShowMessage('Das Fenster wurde geschlossen.'); end; |
Cu,
Udontknow
Saarpoint - Mi 20.10.04 23:36
Hab das selbe Problem. Auch bei mir läuft das eigentliche Programm weiter,
obwohl in einer angezeigten Form noch Daten zur Weiterbearbeitung eingetragen
werden müssen. Wenn ich per "Form1.ShowModal" die Form aufrufe, erhalte ich einen
Laufzeitfehler: "Aus einem sichtbaren Fenster kann kein Modales gemacht werden"
Was soll das heißen? Es ist ja nicht sichtbar. Es wird erst mit ".ShowModal" angezeigt... :gruebel:
Gruß, Andy
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!