![]() |
Typecast für MDI Childs ?
Moin !
Ich habe da folgende Situation ... Habe da x MDI Fenster: TForm_MDI1, TForm_MDI2, .... In diesen Forms gibt es ein Flag das ich gerne setzen würde beim Schließen aller MDI Childs. Das Flag kann ich nun so addressieren:
Delphi-Quellcode:
Aber wenn ich das auf alle offenen MDI Fenster anwenden will dann klappt das nicht. Ich müsste wenigstens den ClassenNamen überprüfen ala:
TForm_MDI1(MainForm.MDIChildren[I]).Flag := True;
Delphi-Quellcode:
..
MainForm.MDIChildren[I].ClassName = 'TChild_Memo'
Und dann müsste ich auch für jedes Fenster einen eigenen Cast bauen. Das ist irgendwie unschön. Kriegt man das universeller hin? Wie gesagt, Ziel isses in allen offenen MDI Fenstern ein Flag zu setzen und das bei verschiedenen MDI Fenster Klassen. Grundlegend also so:
Delphi-Quellcode:
for I := 0 to MainForm.MDIChildCount - 1 do begin
Universalcast(MainForm.MDIChildren[I]).Flag := True; end; |
Re: Typecast für MDI Childs ?
Delphi-Quellcode:
object is type = prüfen
if MainForm.MDIChildren[I] is TChild_Memo then
object as type = umwandeln mit prüfen (bei Fehler Exception) type(oject) = hartes umwandeln ohne prüfen universeller ... ja TForm_MDI1, TForm_MDI2 usw. müssen dann einfach von einem Basistypen abgeleitet sein, dann haben alle dessen Eigegenschaften und du kannst auf diese universell zugreifen. |
Re: Typecast für MDI Childs ?
Moin !
Zitat:
Nuja, danke jedenfalls für die Hinweise. |
Re: Typecast für MDI Childs ?
Wenn du nicht ableiten willst, kannst du an jeder Form ein Interface implementieren.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 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