Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#9

AW: String als "normaler" Type

  Alt 23. Sep 2022, 12:31
Das compiliert schon mal aus diversen Gründen nicht:
  1. Do is ein reserved word
  2. as kann dort nicht verwendet werden

Weiter gilt: TestF ist zuweisungskompatibel zu aFunc, aber nicht zu aPointer. Der Rückgabewert von TestF ist zuweisungskompatibel zu Pointer, aber nicht zu aFunc. Der Compiler entscheidet entsprechend.

Anders sieht es hier aus:
Delphi-Quellcode:
Function TestF: Pointer;
Begin
  Result := nil;
end;

function TestF1: TSimpleFunc;
begin
  result := TestF;
end;

...
  aFunc := TestF1; // compiliert nicht
  aFunc := TestF1(); // compiliert
Ich habe mir angewöhnt runde Klammern zu setzen, wenn ich sicherstellen will, dass die Function ausgeführt wird.
Delphi-Quellcode:
  aFunc := TestF;
  apointer := AFunc();
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat