Hallo liebe Delphi User!
Zunächst einmal sei gesagt, dass ich noch ein blutiger Anfänger in Delphi bin und ich habe, wer hätte es gedacht, ein "kleines" Problem mit meinem Delphi Programm, das ich bis jetzt noch nicht lösen konnte.
In der FormCreate erstelle ich zunächst ein 24x24 Felder "Spielfeld" aus vielen einzelnen images:
Delphi-Quellcode:
for j := 1 to 24 do begin
for i := 1 to 24 do begin
Bild[(j-1)*24+i]:=TImage.Create(Form1);
Bild[(j-1)*24+i].Parent:=Form1;
Bild[(j-1)*24+i].Height:=20;
Bild[(j-1)*24+i].Width:=20;
Bild[(j-1)*24+i].Left:=20*i;
Bild[(j-1)*24+i].Top:=20*j;
Bild[(j-1)*24+i].Name:='Feld'+InttoStr((j-1)*24+i);
Bild[(j-1)*24+i].Picture.LoadFromFile('neutral.bmp');
end;
end;
nun mächte ich in einer anderen Prozedur während der Laufzeit das angezeigte Bild eines dieser bestimmten "Felder" (bzw. Images) ändern, indem ich ein anderes Bild hineinlade.
Dabei ist mir die Stelle im array bzw. der Name des Images natürlich bekannt aber irgendwie komme ich nicht drauf wie ich mit diesen Informationen das entsprechende Image während der Laufzeit in einer anderen Prozedur ansprechen kann.Irgendwie vermute ich zwar, dass die Lösung ganz einfach ist aber naja ...
Ich hoffe ihr könnt mir helfen und danke Euch im vorraus.
Inqui
/edit
Ich habe es bisher mit
Bild[i].Picture.LoadFromFile('image1.bmp');
(i bezeichnet die mir bekannte Stelle des Feldes das geändert werden soll)
probiert, aber sobald die Bedingung für den "Austausch" erfüllt wurde kam ein EAccesViolation Fehler