Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Asynchrone Eingabe


juelin - Do 12.01.12 21:44
Titel: Asynchrone Eingabe
Hi,
ich benutze Delphi7.
Ich habe ein Problem:
In ein FOR Schleife lese ich die Filenamen aus der TFILELISTBOX ein.
Nun möchte ich innerhalb der FOR-Schleife eine Eingabe in TEDIT machen und die FOR-Schleife soll warten bis die Eingabe beendet ist im Event ONEDIT.KEYUP.
Kann mir da Jemand helfen?
Am liebsten mit Beispiel.
Gruß Jürgen


Moderiert von user profile iconMartok: Topic aus Programmierwerkzeuge verschoben am Do 12.01.2012 um 21:13

Urscache gefunden: Application.HandleMessage


Gausi - Do 12.01.12 22:24

Muss das Edit im selben Fenster sein? Wenn nein, würde ich das auf eine weitere Form setzen, und dieses per ShowModal anzeigen lassen. Dafür gibt es auch schon fertige Dinge, wie z.B. InputQuery aus der Unit Dialogs.


jaenicke - Do 12.01.12 22:40

Dafür eignet sich eher gar keine Schleife. Stattdessen solltest du den ersten Eintrag nehmen und das Editfeld aktivieren. Wenn die Eingabe abgeschlossen ist, gehst du zum nächsten Eintrag.
Ich glaube das ist vielleicht nicht ganz einfach zu verstehen, deshalb findest du im Anhang ein kleines Beispiel.

Nebenbei ist die TFileListBox schon seit vielen Jahren veraltet, die steht ja nicht umsonst unter Win 3.1 in der Komponentenpalette. Besser wäre eine normale TListBox.