Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Problem bei Zufallsbildern (https://www.delphipraxis.net/42468-problem-bei-zufallsbildern.html)

kean 19. Mär 2005 08:53


Problem bei Zufallsbildern
 
Ich habe eine kleine Funktion geschrieben welche mit Zufallsbilder anzeigen soll

Delphi-Quellcode:
function Zufallsfeld:TImage;
var name:string;
begin
name := 'Image'+Inttostr(RandomRange(14,1))+'_'+inttostr(RandomRange(15,1));
result := TImage(name);

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Imagelist1.GetBitmap(1,Zufallsfeld.Picture.Bitmap);
end;
Leider funktioniert das nicht. Kann mir jemand erklären wieso?

Die Namen meiner Bilder sind natürlich im Format Image1_1 usw aufgebaut.

jfheins 19. Mär 2005 09:00

Re: Problem bei Zufallsbildern
 
Hier im Forum suchenFindComponent

kean 19. Mär 2005 09:05

Re: Problem bei Zufallsbildern
 
Zitat:

Zitat von jfheins

Delphi-Quellcode:
function Zufallsfeld:TImage;
var name:string;
begin
name := 'Image'+Inttostr(RandomRange(14,1))+'_'+inttostr(RandomRange(15,1));
result := FindComponent(name);

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Imagelist1.GetBitmap(1,Zufallsfeld.Picture.Bitmap);
end;
Er bringt die Fehlermeldung "Undefinierter Bezeichner: 'FindComponent'".
Muss ich da noch irgendetwas einbinden? In der Delphi Hilfe steht mal nichts dabei.

jfheins 19. Mär 2005 09:35

Re: Problem bei Zufallsbildern
 
Ist in der Unit Classes ...

kean 19. Mär 2005 09:41

Re: Problem bei Zufallsbildern
 
Zitat:

Zitat von jfheins
Ist in der Unit Classes ...

Die habe ich eingebunden bzw wird standardmäßig eingebunden. Wie kann es dann zu der Meldung kommen?

tommie-lie 19. Mär 2005 10:14

Re: Problem bei Zufallsbildern
 
Zitat:

Zitat von kean
Die habe ich eingebunden bzw wird standardmäßig eingebunden. Wie kann es dann zu der Meldung kommen?

Der Sichtbarkeitsbereich stimmt nicht, FindComponent ist eine Methode von TForm, deine Funktion Zufallsfeld ist aber außerhalb dieses Namensbereiches und findet deswegen Form1.FindComponent nicht. Wenn du die globale Variable Form1 verwenden willst, sollte es mit Form1.Findcomponent(Parameter) funktionieren, eleganter wäre es aber, die Funktion Zufallsfeld() in die TForm1-Klasse zu packen oder der Funktion gleich eine Instanz von TForm als Parameter mitzuschicken.


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