Result ist eine Pseudo-Variable, sie steht für den Funktionsrückgabewert. Du könntest genausogut den Rückgabewert an den Funktionsnamen übergeben, was aber nicht so wartungsfreundlich ist. Die Funktion wird dabei aber nicht beendet, wie z.B. bei der Anweisung return in C. Soweit die Begriffsklärung. Näheres findest du in der Delphi Online-Hilfe. Hier mein Versuch einer Umsetzung - ohne doppelte Negation:
Delphi-Quellcode:
function GetDSP(
handle: DWORD): WINAMPPLUGINPROPDSP;
var
i: DWORD;
begin
if handle <> 0
then
for i := 0
to Pred(winampDSPcounter)
do
begin
Result := Winamp_DSP^[i];
if Assigned(Result)
and (Result^.handle =
handle)
then Exit;
end;
Result :=
nil;
// GetDSP := nil // gleichwertig
end;
Gruß
marabu