Thema: Delphi debugging erkennen

Einzelnen Beitrag anzeigen

NicoDE
(Gast)

n/a Beiträge
 
#10

Re: debugging erkennen

  Alt 21. Jul 2003, 11:47
Zitat von FriFra:
Davon ausgehen kann man eben nicht,
[...]
Ich meine die Adresse der Funktionsvariablen, nicht deren Inhalt

OK, deutlicher...
Dein Code macht das, was Du willst (aber nur, weil es eine Funktionsvariable ist...)

Code:
function Foo(): Boolean;
var
  Bar: procedure();
begin
  Bar := nil;
  Result := (@Bar <> nil);
end;

function Bar(): Boolean;
var
  Foo: Pointer;
begin
  Foo := nil;
  Result := (@Foo <> nil);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if Foo() then
    ShowMessage('foo');
  if Bar() then
    ShowMessage('bar');
end;
Das ist eigentlich inkonsistent, da ein Funktionszeiger auch nur ein Pointer ist (somit kann @Foo zu Missverständnissen führen - ist jetzt die Adresse der Variablen oder der Inhalt gemeint).

.nico
  Mit Zitat antworten Zitat