Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Segmentation Fault(11) (https://www.delphipraxis.net/189651-segmentation-fault-11-a.html)

Peter60 5. Jul 2016 14:28

Segmentation Fault(11)
 
Hallo zusammen,
ich habe ein Problem mit Delphi 10.1 FMX. Ich versuche eine kleine Anwendung für Android 5 zu schreiben.
Hier habe ich eine Form mit folgenden Code:

Delphi-Quellcode:
unit Unit6;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Platform,
  FMX.Controls.Presentation, FMX.StdCtrls, FMX.Dialogservice, FMX.Edit;

type
  TForm1 = class(TForm)
    Button2: TButton;
    Button3: TButton;
    Edit1: TEdit;
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Edit1Enter(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  MsgDlgResult: Integer;

implementation

{$R *.fmx}
{$R *.LgXhdpiTb.fmx ANDROID}



procedure TForm1.Button2Click(Sender: TObject);
begin
  self.Close;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  FMX.Dialogs.MessageDlg(edit1.text, TMsgDlgType.mtInformation, [TMsgDlgBtn.mbOk],0,
  procedure(const AResult: TModalResult)
  begin
    if AResult = mrOK then
    begin
      exit;
    end;
  end);
end;

procedure TForm1.Edit1Enter(Sender: TObject);
begin
  edit1.Text := '';
end;

end.
Das Problem ist folgendes wird die Anwendung im Debugger gestartet und nun tippe ich auf das Edit1 Feld.
Es erscheint im Debugger die Fehlermeldung Segmentation Fault(11). Was hat das zu bedeuten?

Ich freue mich auf eure Antworten.

Zacherl 5. Jul 2016 15:24

AW: Segmentation Fault(11)
 
SegFault 11 ist laut Google ein Stack Overflow. Ich nehme an, dass
Delphi-Quellcode:
Edit1.Text := ''
indirekt aus irgendeinem Grund wieder das Edit1Enter Event aufruft. Solltest du über den Call-Stack überprüfen können, wenn du im Edit1Enter mal einen Breakpoint setzt und einige Male F9 drückst.

Peter60 5. Jul 2016 15:40

AW: Segmentation Fault(11)
 
Danke, für die schnelle Antwort.

Ich habe es jetzt so geändert:
Delphi-Quellcode:
procedure TForm1.Edit1CanFocus(Sender: TObject; var ACanFocus: Boolean);
begin
  edit1.Text := '';
end;
Jetzt kommt keine Fehlermeldung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:41 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