hallo leute,
und zwar hab ich wieder so ein kleines Problemchen.
ich versuchs mal darzustellen. ich habe vier Formulare. Form1, Form2, Form3 und Form4
Form1-->druchbuttonclick--->Form2---durchbuttonclick--->Form3----durchbuttonclick--->Form4-----durchbuttonclick---->Form3
In Form 3 hab ich eine Sql-Anweisung die aus einer Datenbank Werte rausliest und in ein DBGrid wiedergibt, das Problem hierbei ist, wenn ich ein datensatz aus dem DBGrid verändern möchte, und zwar wird der datensatz in Form 4 verändert, erscheinen die Veränderungen, nachdem ich in Form4 auf buttonclick gedrückt habe, nicht in Form3. D.h. Formshow von form3 wird erst garnicht durchlaufen.
Wo liegt das problem? kann mir jemand weiterhelfen..
Danke
TForms
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Re: TForms
Ich vermute mal, der Button auf Form4 schließt dieses nur. Dadurch kommt natürlich wieder Form3 nach oben, es wird aber nicht neu gezeigt, da du es ja schon mit dem Button von Form2 aufgerufen wird, und dort onShow anfällt.
Du kannst bspw. von Form4 ja direkt das entsprechende Event von Form3 aufrufen, wenn Form4 geschlossen wird. Alternativ, wenn du Form3 explizit mit Form3.Hide; versteckst, wenn Form 4 geöffnet wird, sollte ein erneutes Form3.Show auch wieder das OnShow-Event von Form3 aufrufen.
Setz bspw. in den button von Form3 etwas in der Art:
Dann wird das OnShow aufgerufen.
Du kannst bspw. von Form4 ja direkt das entsprechende Event von Form3 aufrufen, wenn Form4 geschlossen wird. Alternativ, wenn du Form3 explizit mit Form3.Hide; versteckst, wenn Form 4 geöffnet wird, sollte ein erneutes Form3.Show auch wieder das OnShow-Event von Form3 aufrufen.
Setz bspw. in den button von Form3 etwas in der Art:
Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
begin
Form3.Hide;
Form4.ShowModal;
Form3.Show;
end;
Johannes
-
- Beiträge: 250
- Registriert: Di 16. Dez 2008, 20:13
- OS, Lazarus, FPC: aptosid (aptosid.com); Lazarus SVN gtk2+qt4; FPC 2.4.0
- CPU-Target: 32/64Bit
Re: TForms
FormShow wird nur nach dem Create() ausgeführt, sonst nicht.
Schreib dir ne eigene Procedure oder Function die das macht was du willst.
mfg _X_
edit:// zu langsam
Schreib dir ne eigene Procedure oder Function die das macht was du willst.
mfg _X_
edit:// zu langsam

-
- Beiträge: 39
- Registriert: Di 7. Apr 2009, 17:11
Re: TForms
Mit Form3.hide hat es funktioniert.
Echt super..Vielen Dank
Grüße Zet
Echt super..Vielen Dank
Grüße Zet