Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Fenster anhand Namen ansprechen (https://www.delphipraxis.net/197821-fenster-anhand-namen-ansprechen.html)

erich.wanker 7. Sep 2018 12:27

Fenster anhand Namen ansprechen
 
Hallo,

ich hab ein Array mit Strings: Fensternamen (Form.name)

Kann ich irgendwie folgendes machen?

Delphi-Quellcode:
var mein_fenster : TForm;
Delphi-Quellcode:
Procedure TMain.tu was mit allen Fenstern ...

for i:0 to fensteranzahl-1 do
begin
 mein_fenster.create(self);
 mein_fenster.assign -> Tform(Fensternamen[i])   ????
 mein_fenster.left:= x;
 mein_fenster.free;
end;
Danke für Hinweise
Erich

hoika 7. Sep 2018 12:33

AW: Fenster anhand Namen ansprechen
 
Hallo,
sind das alles Fenster Deiner eigenen Anwendung?

erich.wanker 7. Sep 2018 12:39

AW: Fenster anhand Namen ansprechen
 
Ja .. alles eigene

P.S.:
ich hab vergessen zu schreiben - das es nicht um "Form.Left" geht - sondern jedes Fenster (welches sich in das Array einträgt) hat eine Public procedure "mach_dein_Ding" - die gestartet werden soll.

Ich dache mir, ich mach ein Array
Code:
fensterForm: Array[1..100] of TForm;
aber dann funktionierte folgendes Nicht

Delphi-Quellcode:
    for fensterschleife := 1 to fensteranzahl do
    begin
       fensterForm[fensterschleife].mach_dein_Ding;
    end;

Zacherl 7. Sep 2018 12:47

AW: Fenster anhand Namen ansprechen
 
Zitat:

Zitat von erich.wanker (Beitrag 1412699)
aber dann funktionierte folgendes Nicht

Inwiefern hat das nicht funktioniert? Die Vorgehensweise ist nämlich schon in Ordnung soweit.

Jasocul 7. Sep 2018 12:56

AW: Fenster anhand Namen ansprechen
 
Zitat:

Zitat von Zacherl (Beitrag 1412700)
Inwiefern hat das nicht funktioniert? Die Vorgehensweise ist nämlich schon in Ordnung soweit.

Kann so nicht funktionieren.
Delphi-Quellcode:
fensterForm[fensterschleife]
ist vom Typ TForm. Dieser Typ kennt die Methode
Delphi-Quellcode:
mach_dein_Ding
einfach nicht.

Zacherl 7. Sep 2018 13:02

AW: Fenster anhand Namen ansprechen
 
Zitat:

Zitat von Jasocul (Beitrag 1412701)
Zitat:

Zitat von Zacherl (Beitrag 1412700)
Inwiefern hat das nicht funktioniert? Die Vorgehensweise ist nämlich schon in Ordnung soweit.

Kann so nicht funktionieren.
Delphi-Quellcode:
fensterForm[fensterschleife]
ist vom Typ TForm. Dieser Typ kennt die Methode
Delphi-Quellcode:
mach_dein_Ding
einfach nicht.

Oh, ich ging davon aus - da der Rest des Beispiels auch in Pseudo-Form gehalten ist - dass schon die korrekte Basisklasse/Interface als Typ des Arrays verwendet wurde :stupid:

In diesem Falle muss der TE entweder Erwähntes umsetzen, oder casten:
Delphi-Quellcode:
(fensterForm[fensterschleife] as TMyForm).mach_dein_Ding;

Jasocul 7. Sep 2018 13:28

AW: Fenster anhand Namen ansprechen
 
Und wenn alles verschiedene Fenster sind (TForm1, TForm2, ...), wird es komplizierter. :wink:
Also brauchen wir mehr Input vom TE.

Zacherl 7. Sep 2018 14:01

AW: Fenster anhand Namen ansprechen
 
Zitat:

Zitat von Jasocul (Beitrag 1412709)
Und wenn alles verschiedene Fenster sind (TForm1, TForm2, ...), wird es komplizierter. :wink:

Naja er sagte ja bereits:
Zitat:

Zitat von erich.wanker (Beitrag 1412699)
jedes Fenster (welches sich in das Array einträgt) hat eine Public procedure "mach_dein_Ding"

Deshalb ging ich ja auch davon aus, dass alle Fenster die gleiche Basisklasse besitzen bzw. er den Fenstern ein Interface verpasst hat. Alles andere wäre auch ziemlicher Murks :P


Alle Zeitangaben in WEZ +1. Es ist jetzt 04: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