![]() |
Delphi-Version: 2009
Zusammengesetzter Objektname, Array und TImage
Hallo! Ich bin gerade dabei ein Demonstrationsprogramm für meine Facharbeit zu erstellen. Es dreht sich um die Veranschaulichung von (De-)Fragmentation. Ich habe als Dateisystem ein Array und als Oberfläche ein Haufen TImages:
![]() Den Tipp mit FindComponent habe ich hier aus dem Board. Danke! :thumb: Zur Aktualisierung der Ansicht wollte ich folgendes nutzen:
Delphi-Quellcode:
1-5 sind die Zustände, 1=free, 2=fragmentiert, 3=used, 4=read, 5=write, so im Array hinterlegt, bei Start auf 1, allerdings ohne Picture.
procedure TForm1.spansichtneu;
var I: Integer; begin for I := 1 to 374 do begin case speicher[I] of 1:(FindComponent('ids'+inttostr(I)) as TImage).picture.LoadFromFile(pfad+'img\blgu.bmp'); 2:(FindComponent('ids'+inttostr(I)) as TImage).picture.LoadFromFile(pfad+'img\blrt.bmp'); 3:(FindComponent('ids'+inttostr(I)) as TImage).picture.LoadFromFile(pfad+'img\blgr.bmp'); 4:(FindComponent('ids'+inttostr(I)) as TImage).picture.LoadFromFile(pfad+'img\blbl.bmp'); 5:(FindComponent('ids'+inttostr(I)) as TImage).picture.LoadFromFile(pfad+'img\blge.bmp'); end; end; end; ids### sind die TImages, befinden sich auf einem Panel. Und der Pfad sollte eigentlich auch passen:
Delphi-Quellcode:
Die Bilder liegen in einem Ordner img bei der .exe.
pfad:=sysutils.ExtractFilePath(Application.Exename);
Ich hoffe mir kann jemand helfen... :) |
AW: Zusammengesetzter Objektname, Array und TImage
Und was genau ist das Problem? Außer, dass die Schleife bei 369 Durchläufen nichts tut.
|
AW: Zusammengesetzter Objektname, Array und TImage
Zitat:
Es wird doch geschaut ob der Speicher[i] einen Wert von 1 bis 5 hat und nicht ob i 1,2,3,4, oder 5 ist. Aber das Problem würde ich auch gerne erfahren. Grüße Klaus |
AW: Zusammengesetzter Objektname, Array und TImage
Jepp, sry, das hatte ich falsch interpretiert.
|
AW: Zusammengesetzter Objektname, Array und TImage
Achso, ganz vergessen: Ich bekomme eine Zugriffsverletzung, wenn in die Prozedur gesprungen wird.
|
AW: Zusammengesetzter Objektname, Array und TImage
Wie ist Speicher denn deklariert?
[edit] Wie ist es so?
Delphi-Quellcode:
[/edit]
for I := Low(Speicher) to High(Speicher) do
|
AW: Zusammengesetzter Objektname, Array und TImage
Delphi-Quellcode:
Mit Low und High gleiches Problem.
var speicher: array[1..374] of byte;
|
AW: Zusammengesetzter Objektname, Array und TImage
Und die Images "ids1" bis "ids374" gibt es alle?
[edit] Was passiert, wenn Du so abfragst?
Delphi-Quellcode:
(DeinPanel.FindComponent('ids'+inttostr(I)) as TImage)
|
AW: Zusammengesetzter Objektname, Array und TImage
Ich denke, ich weiß, wo der Fehler liegt: Meine Images heißen 001, ... . :roll:
Trotzdem Danke für die Hilfe! :thumb: |
AW: Zusammengesetzter Objektname, Array und TImage
Dann können sie ja auch schlecht gefunden und noch schlechter darauf zugegriffen werden. :roll:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz