Dein Ausführungen sind zwar schlüssig, aber sie Passen nicht zu meiner Prozedur
Delphi-Quellcode:
procedure TBauteilListe.GetPBauteil(ID: string);
procedure Rekursiv(p: PBauteil; Search: string; var MyResult: PBauteil);
var i: integer;
begin
if p <> nil
then
if p^.ID = Search
then
MyResult := p
else
if length(p^.Next) > 0
then
for i := low(p^.next) to high(p^.next) do
Rekursiv(p^.next[i],Search,p);
end;
begin
Rekursiv(FRoot,ID,FPBauteil);
end;
Denn wie du siehst wird MyResult als var parameter übergeben, aber var parameter wird ausschließlich in der Zeile "MyResult := p" verändert, wobei P ja wohl nicht von diesem Ausdruck verändert wird
oder etwa doch???