![]() |
[Gelöst] Exception-Klasse >>External:SIGSEGV<<
Ich schreibe zurzeit ein kleines Spiel und möchte bestimmten Feldern in einem Array einen Wert zuweisen.
Beim Kompilieren weist Lazarus keine Fehler auf, aber sobald er das Projekt startet bekomme ich den Error: "Projekt project1 hat Exception Klasse >>External:SIGSEGV<< ausgelöst. In Datei 'unit2.pas' in Zeile 195: Home.Tiles[9.i]:=1;" Ich habe schon nach Problemlösungen gesucht, aber bisher konnte mir keine wirklich weiterhelfen. Ich hänge mal den zugehörigen Code an.
Delphi-Quellcode:
Wäre toll, wenn mir jemand helfen könnte.
THero = class
private public Map:integer; NewPosX:integer; NewPosY:integer; ActPosX:integer; ActPosY:integer; Equip:string; procedure MoveUp; procedure MoveDown; procedure MoveLeft; procedure MoveRight; // constructor Create; end; TMap = class private public Tiles: Array[0..32,0..18] of integer; SpawnX:integer; SpawnY:integer; constructor Create; end; { TForm2 } TForm2 = class(TForm) Image1: TImage; Image2: TImage; HeroDown: TImage; HeroUp: TImage; HeroLeft: TImage; HeroRight: TImage; procedure FormCreate(Sender: TObject); procedure FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); procedure HomeInitialisierung; private { private declarations } public { public declarations } end; var Form2: TForm2; Hero: THero; Home,Center,East,Hosp1,Hosp2,HospRoof:Tmap; implementation {$R *.lfm} { TForm2 } constructor TMap.Create; var i,j:integer; begin for i:=0 to 32 do begin for j:= 0 to 18 do begin Tiles[i,j]:=0; end; end; self.SpawnX:=0; self.SpawnY:=0; end; procedure TForm2.FormCreate(Sender: TObject); begin Form2.Image1.visible:=true; Home.Create; Center.Create; East.Create; Hosp1.Create; Hosp2.Create; HospRoof.Create; Form2.HomeInitialisierung; procedure TForm2.HomeInitialisierung; var i,j:integer; begin for i:=6 to 12 do begin Home.Tiles[9,i]:=1; end; //Home.Tiles[10,6]:=1; //Home.Tiles[10,9]:=1; //Home.Tiles[10,10]:=1; //Home.Tiles[10,13]:=1; end; LG Griesi |
AW: Exception-Klasse >>External:SIGSEGV<<, Hilfe gesucht
Home := TMap.create im FormCreate
bei den nachfolgenden auch verbessern. Grüße Klaus |
AW: Exception-Klasse >>External:SIGSEGV<<, Hilfe gesucht
Delphi-Quellcode:
Dasselbe für die anderen ähnlichen Aufrufe.
Home := TMap.Create;
[edit] Und lass bitte in den Methoden den Zugriff auf die globale Form-Variable weg oder ersetze sie durch Self. Zitat:
|
AW: [Gelöst] Exception-Klasse >>External:SIGSEGV<<
Danke für die schnelle Hilfe. Hätte bestimmt noch eine Ewigkeit gebraucht, um das zu bemerken.
Zitat:
Trotzdem danke LG Griesi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:16 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