Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   FindComponent in andere Forms (https://www.delphipraxis.net/159492-findcomponent-andere-forms.html)

thomas2009 30. Mär 2011 13:55

FindComponent in andere Forms
 
Hi

ich möchte die Höhe einer Image in Form2 messen

Der Code ist aber in Form1
Ich habe einen globalen Variable heisst

Bublic
myimage:String


Bei klick auf eine image in form1, wird der globalen String aktualisiert

Beispiel :
Delphi-Quellcode:
procedure TForm2.Image1Click(Sender: TObject);
begin
Form1.myimage:='Form2.Image1';
...
Nach dem ich in form2 auf eine image geklickt habe,
will ich danach von Form1 die Höhe der angeklickten Image messen
Delphi-Quellcode:
H:= (FindComponent(myimage) As TImage).Height; // Fehler
Wie kann ich am besten tun ?

Weil "Form2.image1" wird vom Code als der Image-Name in Form1 angenommen :(

DeddyH 30. Mär 2011 14:10

AW: FindComponent in andere Forms
 
Und wieso deklarierst Du myimage nicht gleich als TImage und übergibst das dann direkt statt über einen String?

thomas2009 30. Mär 2011 14:22

AW: FindComponent in andere Forms
 
Na gut, aber wenn ich den globalen var in Form1 so änder
Delphi-Quellcode:
Bublic
myimage:TImage;
Wie geht es weiter beim Klicken auf eine image in Form2 ?

Delphi-Quellcode:
procedure TForm2.Image1Click(Sender: TObject);
begin
// ?
Form1.myimage:=;
...

DeddyH 30. Mär 2011 14:33

AW: FindComponent in andere Forms
 
Überleg mal, das ist ganz einfach.

rollstuhlfahrer 30. Mär 2011 14:35

AW: FindComponent in andere Forms
 
Meckert Delphi nicht wegen dem Bublic?

Ansonsten: Wie soll was weiter gehen?

Bernhard

thomas2009 30. Mär 2011 14:45

AW: FindComponent in andere Forms
 
Zitat:

Zitat von DeddyH (Beitrag 1092006)
Überleg mal, das ist ganz einfach.

Doch, das Problem habe ich mit String gelöst ;)
Delphi-Quellcode:
...
Bublic
myimagename:String;
...

var
myimage:TImage;

procedure TForm2.Image1Click(Sender: TObject);
begin
Form1.myimagename:='Form2.Image1';
...
Nun aufruf in Form1
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
myimage.Name :=myimageName;
H:=myimage.Hight;
:lol: Oder gibt es was noch einfacher ?

DeddyH 30. Mär 2011 14:49

AW: FindComponent in andere Forms
 
Ich geb's auf :wall:

thomas2009 30. Mär 2011 15:01

AW: FindComponent in andere Forms
 
Zitat:

Zitat von DeddyH (Beitrag 1092012)
Ich geb's auf :wall:

Warum gibt es auf ? Es hat mindestens funktioniert :evil:

IceBube 30. Mär 2011 15:02

AW: FindComponent in andere Forms
 
Hallo!

Am besten wärs meiner Meinung nach wie @DeddyH es bereits geschrieben hat. Wenn du es doch mit einem String machen möchtest könntest du es so (auch) machen..

Delphi-Quellcode:
//Form1
public {nicht bublic}
 myImage : String;

//Form1.Image1

procedure Tform2.imageClick();
var H : Integer;
begin
 Form1.myImage := 'Image1';
 H            := TImage(Form1.FindComponent(Form1.myImage)).Height;
end;

lg
end;

DeddyH 30. Mär 2011 15:14

AW: FindComponent in andere Forms
 
Zitat:

Zitat von IceBube (Beitrag 1092018)
Am besten wärs meiner Meinung nach wie @DeddyH es bereits geschrieben hat.

Danke :) Dazu muss man nur noch darauf kommen, dass man dann eine Instanz von TImage übergibt und fertig wär' s.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 Uhr.
Seite 1 von 2  1 2      

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