![]() |
AW: Programmabsturz, aber warum
Vielleicht noch etwas, es wurde zwar schon erwähnt, aber die Wichtigkeit wurde evtl. nicht so richtig betont. Komponenten in Delphi werden nicht zeitnah aktualisiert, erst dann (sagen wir es etwas vereinfacht) wenn etwas Zeit da ist. Um das zu verstehen muss man verstehen wie Windows funktioniert. Delphi gehört zu den ereignisorientierten Programmiersprachen. Sie macht also erst dann etwas, wenn etwas passiert, z. B. man klickt auf ein Button. Oder man gibt etwas in ein Editfeld ein. Oder man verlässt ein Editfeld, usw. Damit eine ereignisorientierte Aktion ausgeführt wird, und procedure TForm1.Edit1Change(Sender: TObject) ist so eine ereignisorientierte Prozedur, muss es von Windows erst eine Nachricht bekommen, dass da etwas passiert ist. Diese Nachricht kommt aber in deinem Fall nicht. Das Edit2-Feld wird zwar verändert (bzw. du versuchst es), aber dein Programm ist so mit der While-Schleife beschäftigt, dass es keine Nachrichten verarbeitet. Es bekommt also nicht mit, dass da etwas passiert. Erst dann wenn die Schleife oder Prozedur beendet ist. Du aber geht davon aus, dass wenn du etwas in Edit2 eingibst, das System es mitbekommt. Tut es nicht.
|
AW: Programmabsturz, aber warum
Sory das ich mich heute erst melde hatte bissel was um die Ohren.
Wollte nur bescheid sagen das das jetzt funktioniert so wie ich das brauche. Danke für eure Hilfe |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:01 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