Einzelnen Beitrag anzeigen

skybibo

Registriert seit: 23. Jun 2008
Ort: NRW
23 Beiträge
 
Delphi 12 Athens
 
#12

AW: Automatische Problem-Erkennung

  Alt 30. Okt 2023, 19:34
Ich habe mal eine komplette Unit erstellt. In dieser Variante bekomme ich auch mit Delphi 11 einen EInvalidPointer Fehler. Was genau Delphi in der Procedure "DoSomething" macht ist für mich noch nicht so richtig nachvollziehbar. Ob diese Kombination in einem normalen Programm so vorkommen kann weiß ich nicht. Bei mir hatte ich dies noch nicht. Ich sehe hier auch bei Delphi selbst keinen Fehler. Wenn ich Unsinn programmiere, dann bekomme ich auch ein Unsinniges Ergebnis.

Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    FMyVal: String;
  public
    procedure DoMore;
    procedure DoSomething(const sVal:String);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.DoMore;
  var
    Val: String;
begin
  DoSomething(FMyVal);
end;

procedure TForm1.DoSomething(const sVal: String);
  var
    Val: String;
begin
  FMyVal := ''; //ohne diese Zeile gibt es keinen Fehler
  Val := sVal;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FMyVal := 'XXX'; //ohne diese Zeile gibt es keinen Fehler
  DoMore;
end;

end.
Bernd
  Mit Zitat antworten Zitat