AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Typecast für MDI Childs ?

Ein Thema von moelski · begonnen am 29. Nov 2009 · letzter Beitrag vom 29. Nov 2009
Antwort Antwort
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

Typecast für MDI Childs ?

  Alt 29. Nov 2009, 08:56
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:
TForm_MDI1(MainForm.MDIChildren[I]).Flag := True; Aber wenn ich das auf alle offenen MDI Fenster anwenden will dann klappt das nicht. Ich müsste wenigstens den ClassenNamen überprüfen ala:
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;
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

Re: Typecast für MDI Childs ?

  Alt 29. Nov 2009, 09:07
if MainForm.MDIChildren[I] is TChild_Memo then object is type = prüfen
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Typecast für MDI Childs ?

  Alt 29. Nov 2009, 09:12
Moin !

Zitat:
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.
Das habe ich fast befürchtet

Nuja, danke jedenfalls für die Hinweise.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#4

Re: Typecast für MDI Childs ?

  Alt 29. Nov 2009, 12:21
Wenn du nicht ableiten willst, kannst du an jeder Form ein Interface implementieren.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz