HEy!
Problem: Ich habe ein Level m.H. eines LEveleditors erzeugt und will dieses jetzt zur Laufzeit ins Spiel laden! Klappt auch wenn ich es als eigenständiges Projekt behandele! Wenn ich nun jedoch mehrere Units miteinander verknüpfe (sprich erst menü dann weiter ins spiel) klappt dieselbe Routine plötzlich nicht mehr!! Nun wollte ich fragen ob sich das jemand erklären kann??
am besten mal in den Code schauen!!
Code:
procedure TForm_spiel.FormPaint(Sender: TObject);
var
i, s,z : BYTE;
element : TElemente;
err, BildName : STRING;
rechteck:TRect;
begin
{for element :=Stein to item do}
if (NeuLaden) then
begin
for i:= Ord(Low(TElemente)) to Ord(High(TElemente)) do //durchläuft TElemente von unten nach oben
BEGIN
element:= TElemente (i);
gvbild[element]:=TBitmap.Create;
BildName:=gcElementName [element] + '.' + gcbmpext;
Try
with gvbild[element] do begin
LoadFromFile(BildName);
//nur zum Testen
Transparent := True;
TransParentColor := gvbild[element].canvas.pixels[50,50];
Form_spiel.Canvas.Draw(50,50, gvbild[element]);
Form_spiel.Canvas.LineTo(100,100);
end;
Except
err := 'Datei: ' + BildName + ' konnte nicht geladen werden!' ;
Application.MessageBox ( pChar (err) , 'Fehler', MB_OK);
// bei Misserfolg -> Speicher wieder freigeben
gvbild[element].Free;
END; //Try
END;
with Form_spiel do begin //Vollbildmodus ohne Taskliste
left:=0;
top:=0;
borderstyle:=bsnone;
width:=screen.Width;
height:=screen.Height;
end;
gvMapDateiName := 'Maps/guteMap'+'.'+gcmapext;
AssignFile(gvMapDatei,gvMapDateiName);
ReSet(gvMapDatei);
Read(gvMapDatei,gvMap);
CloseFile(gvMapDatei);
NeuLaden := FALSE;
end;
FOR s := 0 TO 31 DO
FOR z := 0 TO 23 DO BEGIN
rechteck.Left:=s*32;
rechteck.top:=z*32;
Form_spiel.Canvas.Draw(rechteck.Left,rechteck.Top,gvbild[gvMap[s,z] *
END;
end;
*Der Fehler tritt in der letzten Zeile auf!!!
thx triX