Entwickler-Ecke

Windows API - Fenster innerhalb des Programmes identifizieren


makena76 - So 19.09.04 10:37
Titel: Fenster innerhalb des Programmes identifizieren
Moin,

ich glaube ich habe hier ein ziemlich banales Problem, die Delphi-Doku hilft mir aber leider nicht weiter... im Forum habe ich auch nix passendes gefunden oder vielleicht nach den falschen Begriffen gesucht.

Also, ich öffne in meinem Programm etwa 10 Fenster (bzw. der Nutzer später) ganz normal mit Create(Self) do Show. Nun kann sich an den Fenstern immer wieder etwas ändern, d.h. der Nutzer schließt bestimmte und öffnet wieder neue. Alle Fenster sind aber von einem bestimmten Typ (TfmBaseForm).

Nun möchte ich von meinem Hauptprogramm/fenster (TfmMain) in unregelmäßigen Abständen Daten an bestimmte Fenster senden (Messwerte). Nicht an alle sondern nur z.B. an Fenster 1,3 und 7. Die nächsten Daten dann z.B. an Fenster 2,4,9 und 10. usw...

Mein Problem ist nun: Wie kann ich die Fenster sicher identifizieren und dan möglichst schnell die Daten an diese Fenster schicken?

Wäre super wenn da jemand einen Tipp für mich hat.

Einen schönen Sonntag
makena


GSE - So 19.09.04 11:29

mit nem Array?

mfg
GSE


makena76 - So 19.09.04 12:03

Hi GSE,

ja ok die Fenster in ein dyn. Array packen. Aber welche Datentypen soll mein Array enthalten? Ich weiß ja nicht wie ich das Fenster eindeutig identifizieren soll. Mit ComponentCount und dann Components[i]? Ist mir irgendwie zu unsicher, vielleicht gibt es da noch was eleganteres?

Grüße
makena


Maweki - So 19.09.04 12:09

Also du kannst einen array of TfmBaseForm anlegen. Oder du setzt beim erstellen einer Form einen bestimmten tag (das is einge Eigenschaft). Also die fensternummer zum beispiel. Und dann kannste den ComponentCount nach TfmBaseForm durchsuchen. Und die dann ganz speziell nach einem Tag...


GSE - So 19.09.04 12:16

das array of TForm, wär glaub ich die beste lösung. einfach die form in dem array createn und dann kannst du über den index auf jede form zugreifen.

mfg
GSE


makena76 - So 19.09.04 12:20

ok danke euch schonmal für die schnellen tipps :-) muss ich mal testen, ich berichte dann :-)

grüße
makena