Einzelnen Beitrag anzeigen

freejay

Registriert seit: 26. Mai 2004
Ort: Nürnberg
272 Beiträge
 
Delphi 11 Alexandria
 
#1

Prüfung auf Assigned(MyObject) true obwohl MyObject nicht initialisiert wurde

  Alt 23. Mai 2019, 13:58
Hallo zusammen,

vielleicht stehe ich ja nur unglaublich auf dem Schlauch aber müsste in dem Codebeispiel "Assigned(slShow)" nicht false sein?

Delphi-Quellcode:
procedure TfMain.Button1Click(Sender: TObject);
var
  In_A: string;
  slShow: TStringList;
begin
  In_A := '';

  try
    if In_A = 'then
      exit;

    slShow := TStringList.Create;
  finally
    if Assigned(slShow) then
      slShow.Free;
  end;
end;
Wenn nein: Wie prüfe ich denn richtig, ob slShow freigeben kann/muss?

Aber - und mindestens genauso schlimm - die Zeile "if Assigned(slShow) then" wird ja nur ausgeführt, weil das "exit" zu einer Access Violation führt!

Ist vielleicht meine Installation kaputt?

Bin dankbar für jede Hilfe!

Gruß

Freejay

PS: Das ist ein Testprojekt mit zwei Buttons, einem Memofeld und einem Opendialog. Sonst nix. Frisch zusammengebastelt.
[Delphi 11.3.1 Enterprise; Win10/11; MySQL; VCL]

Geändert von freejay (23. Mai 2019 um 14:04 Uhr)
  Mit Zitat antworten Zitat