Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Lazarus (IDE) (https://www.delphipraxis.net/81-lazarus-ide/)
-   -   Fehlermeldung "external SIGSEGV" (https://www.delphipraxis.net/191492-fehlermeldung-external-sigsegv.html)

StolenURBike 21. Jan 2017 15:28

Fehlermeldung "external SIGSEGV"
 
Servus Leute,
ich versuche mich momentan an Snake in Delphi für ein Schulprojekt und habe momentan ein nervigen Fehler.
Unzwar kommt immer wenn ich meinen BitBtn1 klicke folgende Fehlermeldung:
"Projekt project1 hat Exception-Klasse >External:SIGSEGV< ausgelöst. In Datei `unit1.pas` in Zeile 58: Paintbox1.Canvas.Pen.Width=10;"

Ich habe auch schon probiert diesen Befehl auszuklammern doch dann bezieht sich der Fehler auf den Befehl in Zeile 59.

Code:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
  Buttons;

type

  { TForm1 }

  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Image1: TImage;
    PaintBox1: TPaintBox;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

  //Schlange
  type
      TPunkt = class
      private
      public
         procedure paint(xWert, yWert:integer);
  end;

var
  Form1: TForm1;
  xWert: integer;
  yWert: integer;
  punkt: TPunkt;
  Paintbox1 : TPaintbox;
implementation

{$R *.lfm}


{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  //Logo
  Image1.Picture.LoadFromFile('Logo.jpg');

end;

procedure TPunkt.paint(xWert, yWert: integer);
begin
Paintbox1.Canvas.Pen.Width:= 10;
Paintbox1.Canvas.Pen.Color:=clLime;
Paintbox1.Canvas.MoveTo(xWert,yWert);
Paintbox1.Canvas.LineTo(xWert,yWert);
end;


procedure TForm1.BitBtn1Click(Sender: TObject);
var xWert, yWert: integer;
begin
punkt:=TPunkt.create;
xWert:=10;
yWert:=10;
punkt.paint(xWert, yWert);
end;

end.

a.def 21. Jan 2017 15:32

AW: Fehlermeldung "external SIGSEGV"
 
Du hast zwei Mal Paintbox1 deklariert.
Das obere ist eine automatische Deklaration, nachdem du die PaintBox auf dein Formular gepackt hast.

Die untere ist von dir. Entferne mal das untere und teste dann.

Die beiden globalen Variablen xWert und yWert kannst du auch entfernen.
Genau wie Punkt. Deklariere Punkt direkt im BitBtn.

Ich würde das alles generell anders machen und die Klasse TPunkt komplett weglassen.

himitsu 21. Jan 2017 15:45

AW: Fehlermeldung "external SIGSEGV"
 
Zitat:

Delphi-Quellcode:
Image1.Picture.LoadFromFile('Logo.jpg');

Und dieser "relative" Pfad wird früher oder später auch knallen.

Geh mal auf Menü > Start > Parameter > Arbeitsverzeichnis (ich hoffe das ist in Lazarus an der selten Stelle, aber glaub schon),
schreib dort
Delphi-Quellcode:
C:\
rein und drück beherzt auf F9.

StolenURBike 21. Jan 2017 15:53

AW: Fehlermeldung "external SIGSEGV"
 
Zitat:

Zitat von a.def (Beitrag 1359479)
Du hast zwei Mal Paintbox1 deklariert.
Das obere ist eine automatische Deklaration, nachdem du die PaintBox auf dein Formular gepackt hast.

Die untere ist von dir. Entferne mal das untere und teste dann.

Problem ist, dass jetzt folgende Fehlermeldung kommt: "Error: Identifier not found "Paintbox1""

StolenURBike 21. Jan 2017 16:00

AW: Fehlermeldung "external SIGSEGV"
 
Zitat:

Zitat von himitsu (Beitrag 1359481)
Und dieser "relative" Pfad wird früher oder später auch knallen.

Geh mal auf Menü > Start > Parameter > Arbeitsverzeichnis (ich hoffe das ist in Lazarus an der selten Stelle, aber glaub schon),
schreib dort
Delphi-Quellcode:
C:\
rein und drück beherzt auf F9.

Habe das jetzt mal reingeschrieben. Weiß nicht was du wirklich mit Knallen meinst, aber ich hoffe, dass es für dieses Schulprojekt ausreicht. :D

nahpets 21. Jan 2017 16:12

AW: Fehlermeldung "external SIGSEGV"
 
Habe mal den Quelltext ein bisserl verändert:
Delphi-Quellcode:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
  Buttons;

type

  { TForm1 }

  TForm1 = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Image1: TImage;
    PaintBox1: TPaintBox;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
    procedure MyPaint(xWert, yWert:integer);
  public
    { public declarations }
  end;

  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  //Logo
  Image1.Picture.LoadFromFile('Logo.jpg');
end;

procedure TForm1.MyPaint(xWert, yWert: integer);
begin
  Paintbox1.Canvas.Pen.Width := 10;
  Paintbox1.Canvas.Pen.Color := clLime;
  Paintbox1.Canvas.MoveTo(xWert,yWert);
  Paintbox1.Canvas.LineTo(xWert,yWert);
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  MyPaint(10, 10);
end;

end.
Schau mal bitte, ob es so funktioniert und wenn ja, erkläre uns bitte warum.

StolenURBike 21. Jan 2017 16:39

AW: Fehlermeldung "external SIGSEGV"
 
Ich habe deinen Quelltext 1:1 übernommen und nun funktioniert es auch, dass ich den besagten Punkt zeichen kann. DU HAST MIR DAMIT SEHR GEHOLFEN!

StolenURBike 21. Jan 2017 16:40

AW: Fehlermeldung "external SIGSEGV"
 
Komisch ist nur warum es bei mir die ganze Zeit gesponnen hat. Aber das kann ein kleiner Denkfehler gewesen sein. :)

nahpets 21. Jan 2017 17:05

AW: Fehlermeldung "external SIGSEGV"
 
Schau Dir bitte die Unterschiede an und versuche sie zu verstehen, sonst machst Du den Fehler in Zukunft vermutlich regelmäßig wieder.

Dashier
Zitat:

Schau mal bitte, ob es so funktioniert und wenn ja, erkläre uns bitte warum.
meinte ich durchaus ernst.

himitsu 21. Jan 2017 17:10

AW: Fehlermeldung "external SIGSEGV"
 
Du hattest Variablen doppelt.
Das ist grundsätzlich nicht schlimm, wenn man auch Alle Versionen richtig initialisiert und übergibt/überträgt.


Wenn es nicht knallt, dann wird FormCreate nicht ausgeführt oder Lazarus hat einen Bug. (Letzteres glaub ich fast nicht)
Ansonsten müsste bei dir die Datei C:\Logo.jpg existieren, was sie vermutlich nicht tut.

a.def 21. Jan 2017 17:44

AW: Fehlermeldung "external SIGSEGV"
 
Deswegen halte ich nix von Dozenten oder Lehrern die Delphi lehren.
Die können es meistens selber nicht. Ich will nicht sagen, dass ich selber es gut kann denn dem ist nicht so.
Aber meiner Meinung nach sollte man mal alle Delphi-Dozenten aus dem Weg schaffen und ordentliche Personen diese Thematik lehren lassen.

Sieht man ja hier im Forum immer wieder was sonst dabei rauskommt.

himitsu 21. Jan 2017 22:36

AW: Fehlermeldung "external SIGSEGV"
 
Zwangsunterricht für Leerer mit h.


Und natürlich die Fehler im kopierten Code/Text :zwinker:

DesperateHopless 1. Mai 2019 07:14

AW: Fehlermeldung "external SIGSEGV"
 
Ich hätte zu der Problemmeldung ebenfalls eine Frage, da ich nicht so schlau aus den Antworten geworden bin.
Könnte mir vielleicht jemand anhand meines Quellcodes erklären, wieso ich die Meldung Projekt project1 hat Exception-Klasse <<External: SIGSEGV>> ausgelöst. In Datei 'unit1.pas' in Zeile 224: if aktuellerRaum.Norden<> nil then Memo1.lines.add('-->Norden');

Code:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ExtCtrls, uPlatz;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Image1: TImage;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Raumwechsel(Eingabe: string);

  private


  public

  end;

var
  Form1: TForm1;
  CampingPlatz, Wald1, Wald2, Wald2s, Wald3, Wald3m, Wald3f, Wald4,
  Wald5, Wald6, Wald7, Wald7b, Wald8, Wald9, Wald10, Wald11, Wald12,
  Wald12m, Wald13, Wald14, Wald14n, Wald14b, Wald15, Wald15m, Wald16,
  Wald17, Wald18, Wald19, Wald20, Wald21, Sicherheit: TPlatz;
  aktuellerRaum: TPlatz;

implementation

{$R *.lfm}
{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Lines.Add('Willkommen zu einem aufregendem Textadventure! Drücke auf GO! und lass das Spiel beginnen!');
  CampingPlatz := TPlatz.Create;
  Wald1 := TPlatz.Create;
  Wald2 := TPlatz.Create;
  Wald2s := TPlatz.Create;
  Wald3 := TPlatz.Create;
  Wald3m := TPlatz.Create;
  Wald3f := TPlatz.Create;
  Wald4 := TPlatz.Create;
  Wald5 := TPlatz.Create;
  Wald6 := TPlatz.Create;
  Wald7 := TPlatz.Create;
  Wald7b := TPlatz.Create;
  Wald8 := TPlatz.Create;
  Wald9 := TPlatz.Create;
  Wald10 := TPlatz.Create;
  Wald11 := TPlatz.Create;
  Wald12 := TPlatz.Create;
  Wald12m := TPlatz.Create;
  Wald13 := TPlatz.Create;
  Wald3m := TPlatz.Create;
  Wald3f := TPlatz.Create;
  Wald14 := TPlatz.Create;
  Wald14n := TPlatz.Create;
  Wald14b := TPlatz.Create;
  Wald15 := TPlatz.Create;
  Wald16 := TPlatz.Create;
  Wald17 := TPlatz.Create;
  Wald18 := TPlatz.Create;
  Wald19 := TPlatz.Create;
  Wald20 := TPlatz.Create;
  Wald21 := TPlatz.Create;
  Sicherheit := TPlatz.Create;

  Wald1.Beschreibung :=
    ('Keine Sicht von dem Mörder. Dich packt die Erleichterung. Doch Du bist Dir nicht sicher, ob Du zurückkehren solltest.');
  Wald2.Beschreibung :=
    ('Du rennst eine Weile bis Du nach hinten schaust. Den Mörder hast Du abgehängt, doch wo geht es nun aus dem Wald?');
  Wald2s.Beschreibung :=
    ('Du bist an einer Sackgasse angekommen. Vor Dir geht es nicht weiter. Es führt eine steile Wand nach oben. Jedoch bemerkst Du, dass davor ein Seil mit einem Haken liegt.');
  Wald3.Beschreibung := ('Die Sonne geht unter und der Wald wird immer düsterer.');
  Wald3m.Beschreibung :=
    ('Alles schien gut zu laufen, doch ein Geräusch lässt Dich aufschrecken. Du fährst herum und erblickst den Mann nur wenige Meter von Dir entfernt. Hinter Dir liegt ein Fluss.');
  Wald3f.Beschreibung :=
    ('Du wirfst das gefundene Seil so weit Du kannst. Zu Deinem Glück bleibt der Haken an einem robusten dicken Baumstamm hängen. Schnell springst Du in den Fluss und ziehst Dich durch die starke Strömung. Deine Kleidung ist zwar durchnässt, aber Du bist dem Mann entkommen!');
  Wald4.Beschreibung :=
    ('Du beginnst mit Deinen nassen Klamotten zu frieren, doch die Aufregung treibt dich voran.');
  Wald5.Beschreibung :=
    ('Der Wald wird immer dichter. Du fragst Dich, ob Du Dich wohl verlaufen hast.');
  Wald6.Beschreibung :=
    ('Erschöpft läufst Du weiter durch den Wald. Mit Anstrengung versuchst Du nicht zu stolpern und Zweigen auszuweichen. Noch gibt es keine Spur des Mannes.');
  Wald7.Beschreibung :=
    ('Du siehst den Mörder vor Dir. Hattest Du ihn nicht eigentlich abgehangen?');
  Wald7b.Beschreibung :=
    ('Dem Mörder bist Du für das Erste entkommen. Du findest einen Beerenstrauch. Möchtest Du davon essen?');
  Wald8.Beschreibung := ('Du schaust Dich um. Keine Spur des Mörders.');
  Wald9.Beschreibung :=
    ('Du läufst weiter in den Wald. Du merkst, dass Du immer tiefer hineinläufst.');
  Wald10.Beschreibung :=
    ('Wegen dem langen Laufen schmerzen Dir Deine Füße. Du möchtest Dich gerade kurz hinsetzen, als Du ein Geräusch vernimmst. Dich packt erneut die Angst. Ist das etwa schon wieder der verrückte Mann?');
  Wald11.Beschreibung :=
    ('Die seltsamen Geräusche sind verschwunden. Dein Atem senkt sich wieder und Du schleichst langsam durch den Wald. Es ist stock dunkel, doch Du hast ein gues Gefühl.');
  Wald12.Beschreibung :=
    ('Langsam hinterfragst Du Dein Handeln. Wärst Du doch bloß nicht in einen so großen Wald campen gegangen...zumindest hättest Du Deine Freunde mitnehmen sollen. Oh warte, Du hast ja keine.');
  Wald12m.Beschreibung :=
    ('Du gehst entspannt durch den Wald. Du hast den Mörder schon eine gute Zeit lang nicht gesehen. Du blickst zur Seite und er steht erschreckend nahe. DAS KANN DOCH NICHT WAHR SEIN!!');
  Wald13.Beschreibung :=
    ('Du blickst Dich zu allen Seiten um. Es ist verdächtig ruhig. Misstrauisch schleichst Du weiter.');
  Wald14.Beschreibung :=
    ('Noch bleibt es ruhig. Du bist am Rand des Waldes, doch Du siehst vom Weiten eine komische Gruppe mit weißen spitzen Hüten. Du beobachtest sie verwirrt, ehe Du schnell weiterschleichst.');
  Wald14n.Beschreibung :=
    ('Du scheinst relativ weit gekommen zu sein. Hoffentlich schffst Du es bald heraus...');
  Wald14b.Beschreibung :=
    ('Plötzlich taucht ein Bär vor dir auf. Die Panick ergreift Dich, was sollst Du ejtzt nut tun??');
  Wald15.Beschreibung :=
    ('Du bist auf dem richtigen Weg. Blad müsstest Du den Ausgang aus dieser Hölle finden.');
  Wald15m.Beschreibung :=
    ('Dein Selbstvertrauen zerspringt, als Du den blutverschmierten Mann siehst. Er war wohl wirklich auf Dich aus, wenn er Dich so sehr verfolgt. Ob er wohl auf Dich steht? Da Du jedoch nicht solche Fetische hast, rennst Du weiter.');
  Wald16.Beschreibung :=
    ('Du spürst, dass das Ende greifbar ist. Die Motivation ergreift Dich.');
  Wald17.Beschreibung :=
    ('Du siehst den Eingang vor dir. Dir kommen die Tränen. Endlich wirst Du dem Mörder entkommen. Du könntest ein Buch schreiben und berühmt werden...');
  Wald18.Beschreibung :=
    ('Der Mörder ist nicht zu sehen. Wo er wohl hin ist. Für das Erste ist es nicht sicher zurück zu kehren.');
  Wald19.Beschreibung :=
    ('Der Weg kommt Dir bekannt vor. Ob Du wohl auf der richtigen Spur bist.');
  Wald20.Beschreibung :=
    ('Du erinnerst Dich an diesen Pfad.Es gab eine kleine Hüttte, in der Du ab und an vorbeigekommen bist als Du campen gingst. Das gibt Dir mehr Selbstvertrauen. Der Ausgang müsste hier in der Nähe sein!');
  Wald21.Beschreibung :=
    ('Müde setzt Du Dich hin. Die Ruhe tut Dir gut. Nach Deiner Verschnaufspause gehst Du jedoch weiter.');
  Sicherheit.Beschreibung :=
    ('Dir winkt eine Freiheit zu. Mit letzter Kraft rennst Du aus dem Wald hinaus zu Deinem Auto. Dir ist so egal, dass Du Deine Sachen liegen gelassen hast. Hauptsache Du bist in Sicherheit. Auf dem Nachhauseweg kannst Du kaum erwarten in Dein Bett zu fallen...');

  Campingplatz.setAusgaenge(Wald1, nil, nil, Wald2);
  Wald1.setAusgaenge(Wald3, Wald19, CampingPlatz, Wald18);
  Wald2.setAusgaenge(Wald18, Campingplatz, Wald2s, nil);
  Wald2s.setAusgaenge(Wald2, nil, nil, nil);
  Wald3.setAusgaenge(Wald21, nil, Wald1, Wald3m);
  Wald3m.setAusgaenge(Wald3f, Wald3, Wald18, nil);
  Wald3f.setAusgaenge(Wald4, Wald21, Wald3m, nil);
  Wald4.setAusgaenge(nil, Wald5, Wald3f, nil);
  Wald5.setAusgaenge(nil, Wald6, Wald21, Wald4);
  Wald6.setAusgaenge(nil, Wald7, nil, Wald5);
  Wald7.setAusgaenge(nil, nil, Wald7b, Wald6);
  Wald7b.setAusgaenge(Wald7, nil, nil, Wald8);
  Wald8.setAusgaenge(nil, Wald7b, Wald9, Wald21);
  Wald9.setAusgaenge(Wald8, Wald10, Wald19, nil);
  Wald10.setAusgaenge(nil, Wald11, Wald14b, Wald9);
  Wald11.setAusgaenge(Wald12, nil, Wald14n, Wald10);
  Wald12.setAusgaenge(nil, Wald12m, Wald11, nil);
  Wald12m.setAusgaenge(nil, nil, Wald13, Wald12);
  Wald13.setAusgaenge(Wald12m, nil, Wald14, nil);
  Wald14.setAusgaenge(Wald13, nil, Wald15, Wald14n);
  Wald14n.setAusgaenge(nil, Wald14, Wald15m, Wald14b);
  Wald14b.setAusgaenge(Wald10, Wald14n, Wald20, Wald19);
  Wald15.setAusgaenge(Wald14, nil, nil, Wald15m);
  Wald15m.setAusgaenge(nil, Wald15, Wald16, Wald20);
  Wald16.setAusgaenge(Wald15m, nil, nil, Wald17);
  Wald17.setAusgaenge(Wald20, nil, nil, Sicherheit);
  Wald18.setAusgaenge(Wald3m, Wald1, Wald2, nil);
  Wald19.setAusgaenge(Wald9, Wald14b, nil, Wald1);
  Wald20.setAusgaenge(Wald14b, Wald15m, Wald17, nil);
  Wald21.setAusgaenge(Wald5, Wald8, Wald3, Wald3f);
  Sicherheit.setAusgaenge(nil, nil, nil, nil);

  CampingPlatz.Foto := ('Bilder/CampingPlatz.jpg');
  Wald1.Foto := ('Bilder/Wald1.jpg');
  Wald2.Foto := ('Bilder/Wald2.jpg');
  Wald2s.Foto := ('Bilder/Wald2.jpg');
  Wald3.Foto := ('Bilder/Wald1.jpg');
  Wald3m.Foto := ('Bilder/Moerder.jpg');
  Wald3f.Foto := ('Bilder/Flussbild.jpg');
  Wald4.Foto := ('Bilder/Wald4.jpg');
  Wald5.Foto := ('Bilder/Wald4.jpg');
  Wald6.Foto := ('Bilder/Wald4.jpg');
  Wald7.Foto := ('Bilder/Wald4.jpg');
  Wald7b.Foto := ('Bilder/Busch.jpg');
  Wald8.Foto := ('Bilder/Wald1.jpg');
  Wald9.Foto := ('Bilder/Wald1.jpg');
  Wald10.Foto := ('Bilder/Wald1.jpg');
  Wald11.Foto := ('Bilder/Wald1.jpg');
  Wald12.Foto := ('Bilder/Wald1.jpg');
  Wald12m.Foto := ('Bilder/Moerder.jpg');
  Wald13.Foto := ('Bilder/Wald4.jpg');
  Wald14.Foto := ('Bilder/Wald4.jpg');
  Wald14n.Foto := ('Bilder/Wald2.jpg');
  Wald14b.Foto := ('Bilder/Baer.jpg');
  Wald15.Foto := ('Bilder/Wald2.jpg');
  Wald15m.Foto := ('Bilder/Moerder.jpg');
  Wald16.Foto := ('Bilder/Wald2.jpg');
  Wald17.Foto := ('Bilder/Wald2.jpg');
  Wald18.Foto := ('Bilder/Wald1.jpg');
  Wald19.Foto := ('Bilder/Wald1.jpg');
  Wald20.Foto := ('Bilder/Wald2.jpg');
  Wald21.Foto := ('Bilder/Wald4.jpg');
  Sicherheit.Foto := ('Bilder/Parkplatz.jpg');
  aktuellerRaum:= Campingplatz;
end;

procedure TForm1.Raumwechsel(Eingabe: string);
begin

    //Raum wechseln
    if (Eingabe= 'Norden') and (aktuellerRaum<> nil) then aktuellerRaum:= aktuellerRaum.Norden;
    if (Eingabe= 'Osten') and (aktuellerRaum<> nil) then aktuellerRaum:= aktuellerRaum.Osten;
    if (Eingabe= 'Süden') and (aktuellerRaum<> nil) then aktuellerRaum:= aktuellerRaum.Sueden;
    if (Eingabe= 'Westen') and (aktuellerRaum<> nil) then aktuellerRaum:= aktuellerRaum.Westen;

    //Beschreibung des aktuellen Raums ausgeben
    if aktuellerRaum.Norden <> nil then Memo1.Lines.Add('--> Norden');
    if aktuellerRaum.Osten <> nil then Memo1.Lines.Add('--> Osten');
    if aktuellerRaum.Sueden <> nil then Memo1.Lines.Add('--> Süden');
    if aktuellerRaum.Westen <> nil then Memo1.Lines.Add('--> Westen');

  Memo1.Lines.Add(aktuellerRaum.Beschreibung);
  Image1.Picture.LoadFromFile(aktuellerRaum.Foto);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
  Raumwechsel('Norden');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  Raumwechsel('Süden');
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
  Raumwechsel('Osten');
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
  Raumwechsel('Westen');
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
  aktuellerRaum := CampingPlatz;
   Image1.Picture.LoadFromFile('Bilder/CampingPlatz.jpg');
   Memo1.Lines.Add(
     'Du hast Dich entschieden einen Campingausflug zu machen. Alles läuft glatt und schon bald geht die Sonne langsam unter.Als der Wald von den rötlichen Sonnenstrahlen bestrahlt wird merkst Du, wie sich Blicke in Deinen Rücken bohren.');
   Memo1.Lines.Add('   ');
   Memo1.Lines.Add('In welche Richtung möchtest Du fliehen?');
end;


procedure TForm1.Button2Click(Sender: TObject);
var
  Item: boolean = False;
begin
  if (aktuellerRaum = Wald2s) then
    begin
    Item := True;
    end;
  if (aktuellerRaum = Wald3f) and (Item = True) then
    begin
     Memo1.Lines.Add(Wald3f.Beschreibung);
    end;
  if (aktuellerRaum = Wald3f) and (Item = False) then
    begin
    Memo1.Lines.Add(
      'Vor Dir liegt ein Fluss. Du hast leider nichts dabei um diesen zu überqueren...aber vielleicht findest Du etwas im Wald, das Dir helfen kann!');
    end;
end;
end.
Tut mir leid, dass es so viel Code ist, aber ich weiß im Moment nicht wie das mit dem restlichen Code zusammenhängt.:gruebel::cry:

Dalai 1. Mai 2019 19:57

AW: Fehlermeldung "external SIGSEGV"
 
@DesperateHopless
Grundsätzlicher Tip: Du solltest an geeigneten Stellen Breakpoints setzen und mit dem Debugger Schritt für Schritt durchgehen, bis es kracht bzw. die Meldung auftritt.

Vermutlicher Fehler: Die Variable aktuellerRaum wird nicht sauber gesetzt sein, also kracht es beim Zugriff auf aktuellerRaum.Norden.

Grüße
Dalai

hoika 2. Mai 2019 06:23

AW: Fehlermeldung "external SIGSEGV"
 
Hallo,
die Unit uPlatz fehlt.

Und wie schon gesagt wurde: F5, F7, F8, Strg+F5 benutzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz