Hi, ich habe folgendes Problem:
Ich bekomme in der Zeile "Spielaufbau.Spielfeld[i].Feld := TShape.Create(MainForm);" immer eine EAccessviolation-Fehlermeldung und weiß nicht genau warum.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81:
| unit UMain;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;
type TMainForm = class(TForm) Image1: TImage; procedure FormCreate(Sender: TObject); private public end;
TSpielfeldRecord = record Feld : TShape; Typ : string; end;
TSpielaufbau = class(TObject) test : TShape; private public Spielfeld : Array[0..39] of TSpielfeldRecord; procedure LoadSpielfeld; end;
var MainForm: TMainForm; Spielaufbau: TSpielaufbau;
implementation
{$R *.dfm}
procedure TMainForm.FormCreate(Sender: TObject); Begin MainForm.Color := $d9f0ed;
Spielaufbau.LoadSpielfeld; End;
procedure TSpielaufbau.LoadSpielfeld; var i : Integer; Begin for i:=0 to 39 do Begin Spielaufbau.Spielfeld[i].Feld := TShape.Create(MainForm); Spielaufbau.Spielfeld[i].Feld.Parent := MainForm; Spielaufbau.Spielfeld[i].Feld.Shape := stRoundRect; Spielaufbau.Spielfeld[i].Feld.Brush.Color := clWhite; Spielaufbau.Spielfeld[i].Feld.Width := 50; Spielaufbau.Spielfeld[i].Feld.Height := 50; Spielaufbau.Spielfeld[i].Feld.Left := 10; Spielaufbau.Spielfeld[i].Feld.Top := 0;
Spielaufbau.Spielfeld[i].Feld.Enabled := false; Spielaufbau.Spielfeld[i].Feld.Show;
End;
End;
end. |
Es hat glaube ich etwas mit dem Record oben zu tun... selbst wenn ich "Spielaufbau.Spielfeld[i].Typ" (beachte 'Typ') einen String zuweise, gibt es eine EAccessviolation...
Würdet ihr das überhaupt so machen? Aber ich mächte gerne den Array aufteilen..

da sollen ja noch mehr Sachen in den Record kommen...
Bitte um shcnelle Hilfe^^
thx schonmal
MfG
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Di 26.05.2009 um 17:32