So jetzt mal nen Umfangreiches Update zu dem Thema:
Ich habe inzwischen ne ganze Ecke rumgespielt und bin auch schon weitergekommen.
Im Moment gibt es allerdings immer noch ein paar Fehler.
piclist[0].Loadfromfile(ExtractFilePath(ParamStr(0)) + 'pictures\bild1.bmp');
Die Zeile bringt beim Kompilieren kein Problem aber wenn das ganze durch das Programm abgespielt wird dann:
Zitat:
Im projekt Projekt1.exe ist eine
Exception der Klasse EAccessViolation aufgetreten. Zugriffsverletzung bei der Adresse 0045A3B5 in Modul 'Projekt1.exe'.Lesen von Adresse 00000000'. Prozeß wurde angehalten. Mit einzelne Anweisung oder Start fortsetzten.
Hier nochmal Teile des Programms denn die ganze Grafikgeschichte betrifft:
Die Deklarationen (global! nicht lokal)
Delphi-Quellcode:
type
Tpicpos = record
top,
left: integer;
end;
Tfield = record
//noch andere Variablen
pic: Tbitmap;
picpos: Tpicpos;
end;
var piclist: array[0..11] of TBitMap;
fields: array[1..7,1..7] of Tfield;
Die Zusweiung
Delphi-Quellcode:
piclist[0].Loadfromfile(ExtractFilePath(ParamStr(0)) + 'pictures\bild1.bmp');
With fields[1,1] do //für Feld(1,1)
begin
pic:= Tbitmap.create; //fields.pic erzeugen
pic.assign(piclist[0]); // oben geladenes Bild zuweisen
picpos.top:=21;
picpos.left:=212;
{Dies sind die beiden Variablen für die Bildposition allerdings gelingt es mit nicht das auch auf das Bild zu beziehen. pic.top / pic.left gibt Fehler aus ([Fehler] Unit1.pas(175): Undefinierter Bezeichner: 'top'). Genauso: pic.picture.top oder pic.picture.bitmap.top}
end;
Das ist eigentlich im Moment der Komplette Teil, der die Grafiken betrifft.
_____
noch ein Update:
Wenn ich dem:
piclist[0].Loadfromfile(ExtractFilePath(ParamStr(0)) + 'pictures\bild1.bmp');
ein
piclist[0]:=Tbitmap.create;
voranstelle bekomme ich nicht mehr den AccessViolation Fehler, allerdings wird das Bild dann auch nicht angezeigt. Was ganz einfach daran liegen könnte, dass dem Bild keine Position zugewiesen wird.
Vielen Dank an alle Helfer, ich hoffe, dass sich der Fehler iwie noch finden lässt
mfg KahPee