Autor Beitrag
juergen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Mi 09.04.03 14:35 
Hey,

habe eine MDI Anwendung und dort als Auswahldialog eine Form mit der Eigenschaft formstyle=fsNormal mit showmodal geöffnet.

Alles so wie es sein soll.

Problem:
wie bekomme diese Form wieder geschlossen ausser mit dem X ??

Habs versucht mit
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
close;

...und...

ModalResult:=mrcancel;

...und...

free

Ergebnis:
bei close passiert nichts
bei ModalResult:=mrcancel auch nicht
bei free schließt zwar die form aber die das MDIChild und MDIMain bleiben
gesperrt !!!

was mach ich falsch ???

DANKE

juergen
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Mi 09.04.03 15:14 
Hi
Zitat:

was mach ich falsch ???

Auf den ersten Blick eigentlich gar nix. Sowohl Close als auch ModalResult := mrCancel funktionieren. Hast du vielleicht noch irgendwas im OnClose oder OnCloseQuery?

Gruss Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...
infomio
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110

Win xy

BeitragVerfasst: Mo 14.04.03 15:42 
naja, beim Ereignis showModal wird das object gerade erst konstruiert (Konstruktor) und hat folglich noch kein Ereignis OnClose zu bieten. Abhilfe schafft da - wenn es denn bei Showmodal oder Create sein muß - eine Timer-gesteuerte procedure, die es wieder und wieder versucht, bis halt das Formular auch wirklich generiert wurde

...onTimer
for 1 = 1 do
Form1.close;
wulfskin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1349
Erhaltene Danke: 1

Win XP
D5 Pers (SSL), D2005 Pro, C, C#
BeitragVerfasst: Mo 14.04.03 17:27 
infomio hat folgendes geschrieben:
naja, beim Ereignis showModal wird das object gerade erst konstruiert (Konstruktor) und hat folglich noch kein Ereignis OnClose zu bieten. Abhilfe schafft da - wenn es denn bei Showmodal oder Create sein muß - eine Timer-gesteuerte procedure, die es wieder und wieder versucht, bis halt das Formular auch wirklich generiert wurde

...onTimer
for 1 = 1 do
Form1.close;
Das versteh ich jetzt überhaupt net? Warum braucht mein ein Timer um ein Formular zu schliessen? :shock:

_________________
Manche antworten um ihren Beitragszähler zu erhöhen, andere um zu Helfen.
infomio
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110

Win xy

BeitragVerfasst: Mo 14.04.03 23:16 
na wulfskin, dann versuch mal innerhalb der procedure showmodal oder form.create den Befehl : Form.close auszufühern --> viel Erfolg !!! :P
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Di 15.04.03 00:00 
da die Form im oncreate erst erstellt wird, ist es nicht möglich close zu benutzen, weil ja noch gar nichts da ist, was man schließen könnte...
infomio
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110

Win xy

BeitragVerfasst: Di 15.04.03 00:05 
Danke Fiji-Fighter! Einer hats gecheckt...