![]() |
Aufrufendes Formular ermitteln
Hi @all
Ich habe da so ein kleines Konzeptproblem. Ich habe in meiner Anwenung ein Formular, welches von verschiedenen Orten (andere Formulare) her aufgerufen wird. Das klappt alles sehr gut. Nun zu meinem Problem: Ich möchte nun, dass wenn ich mein Formular über den 'Zurück'-Button verlasse auf meine alte Form (der Aufrufer) zurückkomme. Wie gehe ich dieses Problem an? Ich überlegte mir so was wie die aufrufer Form vestecken und dann wieder sichtbar machen, aber das funzt in einer MDI Umgebung bekanntlich nicht *sniff* Hat da jemand eine Lösung? |
Re: Aufrufendes Formular ermitteln
Moin Chruttli,
eine Idee hätte ich beizusteuern, da ich mir das Programm im Moment nicht so ganz vorzustellen vermag: Ergänze das Formularobjekt, des Formulares, dass von verschienen Stellen aus genutzt wird, um eine Eigenschaft, in der Du vor dem Anzeigen des Formulares einträgst, welches Formular aufruft, und in der OnClick Methode des Zurück Buttons aktivierst Du dieses dann. |
Re: Aufrufendes Formular ermitteln
Hi Christian
Dein Ansatz gefällt mir. Das sieht ganz nach der Lösung für mein Problem aus. Ich habe jedoch das Problem, dass ich dies noch nie gemacht habe. Könntest du mir kurz erklähren, wie ich unter Delphi einen Konstruktor überlagere? Ich nehme an, dass ich das so tun müsste, da ich unter MDI ja die Show-Methode nicht nutzen kann, nur die Create-Methode... Vielen Dank für deine Hilfe Chruttli |
Re: Aufrufendes Formular ermitteln
Moin Chruttli,
ach so, Dein Universalformular ist auch ein MDI Child. Dann musst Du immer prüfen, ob vom Aufrufer aus dieses nicht schon erzeugt wurde, und es ggf. nicht erzeugen, sondern nur dahin wechseln. Wenn Du es dann so (oder ähnlich) erzeugst (ohne die o.g. Prüfung)
Delphi-Quellcode:
sollte es sogar gehen, dass Du mehrere Universalformular gleichzeitig offen hast, wobei immer zum jeweils richtigen zurückverzweigt werden kann.
with TForm2.Create(nil) do begin
FUniversal := self; end; Das Universalformular darf natürlich nicht in der Projektdatei erzeugt werden. |
Re: Aufrufendes Formular ermitteln
Vielen Dank, so funktioniert es bestens :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 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