Moin.
Hier erstmal mein Code:
Delphi-Quellcode:
type
{ Karten }
TKarte = class
Typ: integer;
Sichtbar: Boolean;
Tisch: TImage;
end;
var
Hauptform: THauptform;
Spielerzahl: integer;
Kartenmischung: array[0..31] of integer;
Kartenblatt: array[0..31] of TPicture;
Deckkarte: TPicture;
Karte: array[0..8] of array[1..3] of TKarte;
function Kartenladen(Pfad, Typ: string): Boolean;
var iBlatt, iSpieler, iKarte, iSpielerkarte, iAusgegeben: integer;
begin
Result := True;
Deckkarte := TPicture.Create;
If FileExists(Pfad + '\Deck.' + Typ) then
Deckkarte.LoadFromFile(Pfad + '\Deck.' + Typ)
Else
Result := False;
for iBlatt:=0 to 31 do
begin
Kartenblatt[iBlatt] := TPicture.Create;
If FileExists(Pfad + '\' + IntToStr(iBlatt) + '.' + Typ) then
Kartenblatt[iBlatt].LoadFromFile(Pfad + '\' + IntToStr(iBlatt) + '.' + Typ)
Else
Result := False;
end;
for iSpieler := 0 to Spielerzahl do
for iKarte := 1 to 3 do
begin
Karte[iSpieler, iKarte].Tisch := TImage.Create(nil);
for iSpielerkarte := 0 to iAusgegeben do
begin
Karte[iSpieler, iKarte].Tisch.Picture := Kartenblatt[iAusgegeben];
inc(iAusgegeben);
end;
end;
end;
Der untere for-to-do-Abschnitt funktioniert nicht. Ich habe es schon mit TCustomImage.Create probiert sowie eine Variable "CTisch = TCustomImage" gemacht und es darüber probiert (wurde mir im
IRC geraten), aber all das half nicht.
Wo ist das Problem? Ein Update auf Lazarus 0.9.29 half auch nicht.
Es kommt: "Projekt a.exe hat
Exception-Klasse 'External: SIGSEGV' ausgelöst." und danach ein Assembler-Fenster.