AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Fehlermeldung "external SIGSEGV"

Ein Thema von StolenURBike · begonnen am 21. Jan 2017 · letzter Beitrag vom 2. Mai 2019
Antwort Antwort
Seite 2 von 2     12
a.def
(Gast)

n/a Beiträge
 
#11

AW: Fehlermeldung "external SIGSEGV"

  Alt 21. Jan 2017, 17:44
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
34.931 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

AW: Fehlermeldung "external SIGSEGV"

  Alt 21. Jan 2017, 22:36
Zwangsunterricht für Leerer mit h.


Und natürlich die Fehler im kopierten Code/Text
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
DesperateHopless

Registriert seit: 1. Mai 2019
1 Beiträge
 
#13

AW: Fehlermeldung "external SIGSEGV"

  Alt 1. Mai 2019, 07:14
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.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.350 Beiträge
 
Delphi 5 Professional
 
#14

AW: Fehlermeldung "external SIGSEGV"

  Alt 1. Mai 2019, 19:57
@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
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
7.252 Beiträge
 
Delphi XE4 Professional
 
#15

AW: Fehlermeldung "external SIGSEGV"

  Alt 2. Mai 2019, 06:23
Hallo,
die Unit uPlatz fehlt.

Und wie schon gesagt wurde: F5, F7, F8, Strg+F5 benutzen.
Heiko
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf