![]() |
Daten bleiben nach Speichern in Edit Feldern stehen
Hey,
Über ein MainMenu öffne ich ein Formular gebe Daten ein und speichere diese in einer DB. Ich schliesse das Fenster und öffne es erneut und auf einmal stehen in den Edit-Feldern schon genau die Eingaben drinnen die ich eingegeben habe. Die Daten wurden aber beim erstemal speichern schon korrekt in die DB geschrieben. Was mache ich falsch? |
Re: Daten bleiben nach Speichern in Edit Feldern stehen
Moin Hansi,
da sehe ich zwei Möglichkeiten:
Wenn Du ein Formular schliesst, wird es, im Wesentlichen, nur unsichtbar gemacht, ansonsten passiert damit nichts. |
Re: Daten bleiben nach Speichern in Edit Feldern stehen
ah OK!
Dynamisch ist ziemlicher Aufwand! Wie kann ich die Felder initialisieren? |
Re: Daten bleiben nach Speichern in Edit Feldern stehen
Moin Hansi,
schreibe einfach im OnShow-Event des Formulares die Werte rein, die sie beim Öffnen des Formulares haben sollen. [EDIT] So viel mehr ist beim dynamischen Erzeugen aber auch nicht zu machen, vorausgesetzt es wird mit ShowModal angezeigt. (wovon ich hier mal ausgehen möchte)
Delphi-Quellcode:
Es darf dann halt nur nicht in der Projektdatei erzeugt werden.
Form erzeugen
try Form anzeigen Daten verarbeiten finally Form freigeben end; |
Re: Daten bleiben nach Speichern in Edit Feldern stehen
Hallo,
Bei diesem Problem bin ich noch nicht weitergekommen. Kann mir jemand bitte ein kleines Beispiel geben wie ich Formulare dynamisch erstellen kann? Vielen Dank und schönen Sonntag noch! |
DP-Maintenance
Dieses Thema wurde von "alcaeus" von "Sonstige Fragen zu Delphi" nach "VCL / WinForms / Controls" verschoben.
Ist ein Problem mit der VCL |
Re: Daten bleiben nach Speichern in Edit Feldern stehen
Moin Hansi,
hier mal ein Beispiel:
Delphi-Quellcode:
Anschliessend solltest du TSomeForm aus der Liste der automatisch erstellten Formulare rauswerfen (in den Projektoptionen). Weiters musst du in der Unit von TSomeForm darauf achten, immer mit Self auf die Formularvariable zuzugreifen, und nicht auf die globale Variable, die automatisch in der Unit eingefuegt wird. Ich empfehle dir, diese Variable (normalerweise waere das SomeForm: TSomeForm im interface-Bereich der jeweiligen Unit) zu loeschen, damit du nicht aus "Versehen" drauf zugreifst.
var
SomeForm: TSomeForm; begin Application.CreateForm(TSomeForm, SomeForm); try SomeForm.ShowModal; //Irgendwas machen sobald das Form geschlossen wurde finally SomeForm.Free; end; end; Greetz alcaeus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:53 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