Hallo zusammne.
Ich bin in Delphi relativ neu, da nur Gelegenheitsprogrammierer. Normalerweise früher Turbo-Pascal, dBase, Cobol und jetzt ABAP/4.
Ich habe eine kleine Dateiverwaltung für CNC-Programmierplätze geschrieben. Ursprünglich war diese als MDI-Anwendung vorgesehen.
Nach Änderung auf SDI-ANwendung mit SUbforms für beliebiege AUfrufe eines TEdit-Fensters mit eigenen Menüs usw. möchte ich bei Beendigung des Programmes alle FormCloseQuerys der geöffneten Subforms abprüfen. In der FormCloseQuery der subForms soll das Ereignis TRichEdit.Modiefied bzw. ein daraus generiertes Flag abgeprüft werden. Der erste Gedanke mit folgenden Fragment in der Hauptform:
procedure TFoMaster.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
i : integer;
begin
for i := Screen.FormCount -1 downto 0 do
if not (Screen.Forms[i].Caption = 'NC File') then
if Screen.Forms[i].CloseQuery then
Screen.Forms[i].Close;
if not closeForm then
canClose := false
end;
bringt's nicht. Die Reihenfolge der über COunt abgeprüften Fenster ist von der Z-ANordnung abhängig, die Fenster haben nach Speicherung bzw. bei Öffnung mit bestehende Datei den Dateinamen als Caption. Darüber eine Entscheidung zu treffen, ist unmöglich.
In einer MDI-Anwendung ist das alles kein Problem. Dort ist diese Prüfung der MDI-Child's beim Close der Midi-Form implizit.
Wer weiß einen Rat?
Ich bin in Delphi relativ neu, da nur Gelegenheitsprogrammierer. Normalerweise früher Turbo-Pascal, dBase, Cobol und jetzt ABAP/4.
Ich habe eine kleine Dateiverwaltung für CNC-Programmierplätze geschrieben. Ursprünglich war diese als MDI-Anwendung vorgesehen.
Nach Änderung auf SDI-ANwendung mit SUbforms für beliebiege AUfrufe eines TEdit-Fensters mit eigenen Menüs usw. möchte ich bei Beendigung des Programmes alle FormCloseQuerys der geöffneten Subforms abprüfen. In der FormCloseQuery der subForms soll das Ereignis TRichEdit.Modiefied bzw. ein daraus generiertes Flag abgeprüft werden. Der erste Gedanke mit folgenden Fragment in der Hauptform:
procedure TFoMaster.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
i : integer;
begin
for i := Screen.FormCount -1 downto 0 do
if not (Screen.Forms[i].Caption = 'NC File') then
if Screen.Forms[i].CloseQuery then
Screen.Forms[i].Close;
if not closeForm then
canClose := false
end;
bringt's nicht. Die Reihenfolge der über COunt abgeprüften Fenster ist von der Z-ANordnung abhängig, die Fenster haben nach Speicherung bzw. bei Öffnung mit bestehende Datei den Dateinamen als Caption. Darüber eine Entscheidung zu treffen, ist unmöglich.
In einer MDI-Anwendung ist das alles kein Problem. Dort ist diese Prüfung der MDI-Child's beim Close der Midi-Form implizit.
Wer weiß einen Rat?
Comment