| Autor |
Beitrag |
Josef-B
      
Beiträge: 293
2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
|
Verfasst: Di 06.05.03 21:06
Angenommen ich habe einen Button1 beim Onclick-Ereignis
öffne ich Form2 und mache dort irgendwas,
wenn ich da fertig bin, kommt close für das Form2.
Wie kriege ich jetzt hin, dass ich dem Rechner jetzt wieder sagen kann, was er dann machen soll?
z.B. Cursor setzen auf dbedit1, oder am besten beim Button1 danach in der Routine weitermachen,
also bildlich gesehen so:
Button1click öffne Form1,
wenn du wieder kommst von form2 setze table1.append,
Hoffentlich hab ich mich verständlich ausgedrückt.
|
|
MSCH
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: Di 06.05.03 21:17
musst du schaun hier:
Quelltext 1: 2: 3: 4: 5: 6:
| procedure myButton.OnClick(); begin Form2.ShowModal;//<-- kehrt erst zurück wenn form.Close()oder ModalResult Table1.Append(); ... end; |
|
|
Terra23
      
Beiträge: 872
Win 8
Delphi 7
|
Verfasst: Di 06.05.03 22:04
Kannst du nicht das alles in das OnClose Ereignis von Form2 setzen? Wenn du Form2 schließt (OnClose) kommst du ja eben zurück zu Form1. Wenn mich nicht alles täuscht, ist das doch am einfachsten, oder?
_________________ Hasta La Victoria Siempre
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Di 06.05.03 22:08
@Terra23: ich finde MSCHs Methode besser. Sie spiegelt eher den gewünschten Ablauf wieder und ist viel übersichtlicher. Bei Deiner Methode würde sich jemand, der den Code liest, fragen, wo denn der Rest des gewünschten Ablaufs geblieben ist.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Josef-B 
      
Beiträge: 293
2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
|
Verfasst: Di 06.05.03 22:10
JA, klar das stimmt, aber auf form 1 solle eben sofort danach automatische eine weitere Routine ablaufen, ohne z.b. wieder erst mit nem Klick oder so zu starten.
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Di 06.05.03 22:14
MSCHs Methode funktioniert so:
1. Benutzer klickt Button1 --> Prozedur Button1Click startet
2. Form2 erscheint und der Benutzer kann dort werkeln --> Button1Click wartet
3. Form2 wird geschlossen --> Prozedur Button1Click macht automatisch weiter
MfG,
Peter
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Josef-B 
      
Beiträge: 293
2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
|
Verfasst: Di 06.05.03 22:22
Hallo Peter Lustig,
ja so wie Du das schreibst stelle ich mir das genau vor, kannst Du mir nen
Beispiel-Code geben?
Gruß Josef
|
|
Josef-B 
      
Beiträge: 293
2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
|
Verfasst: Di 06.05.03 22:24
Sorry, hatte jetzt nen blackout, das showmodal war gemeint,
Ich habs jetzt mal probiert.
Leider kommt ne Exception 'Zugriffverletzung'.
|
|
Josef-B 
      
Beiträge: 293
2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
|
Verfasst: Di 06.05.03 22:39
Quelltext
Hierbei ist doch form2 der Name für das zu öffnende Formular, dass ich mit Klick auf den Button öffnen möchte, oder?
Oder ist form2 ein Wert oder eine Variable, die ich noch deklarieren muss?
Ich frage halt wegen dem Fehler 'Zugriffsverletzung' den ich erhalte.
Josef
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Di 06.05.03 22:50
Wenn Du eine Zugriffsverletzung erhälst, hast Du wahrscheinlich form2 nicht erzeugt. Du musst dieses erstmal mit:
Quelltext 1:
| form2:=TForm2.Create(Self); |
erzeugen, wenn es nicht in der Liste der automatisch erzeugten Fenster steht (siehe Projektoptionen).
Hilft Dir das weiter?
|
|
Josef-B 
      
Beiträge: 293
2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
|
Verfasst: Di 06.05.03 23:14
Hi UGrohne,
ja Du hattest recht, ich hab es so gemacht.
Jetzt geht Form2 kurz auf, dann die nächste Exception:
'Aus einem sichtbaren Fenster kann kein modales gemacht werden.'
|
|
Josef-B 
      
Beiträge: 293
2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
|
Verfasst: Mi 07.05.03 07:02
Alles klar:
visible muss im Format auf 'false' gesetzt werden.
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mi 07.05.03 08:42
Genau 
|
|