Autor Beitrag
Josef-B
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 293

2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Di 06.05.03 21:17 
musst du schaun hier:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 872

Win 8
Delphi 7
BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 293

2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 293

2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 293

2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 293

2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
BeitragVerfasst: Di 06.05.03 22:39 
ausblenden Quelltext
1:
form2.showmodal;					


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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Di 06.05.03 22:50 
Wenn Du eine Zugriffsverletzung erhälst, hast Du wahrscheinlich form2 nicht erzeugt. Du musst dieses erstmal mit:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 293

2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 293

2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
BeitragVerfasst: Mi 07.05.03 07:02 
Alles klar:

visible muss im Format auf 'false' gesetzt werden.
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mi 07.05.03 08:42 
Genau :wink: