Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
Delphi XE5 Professional
|
Re: Problem mit einer Stringlist und Pointern
11. Jan 2007, 15:57
Zitat von Tormentor32:
Aber warum ändert sich P, wenn ich nur MyResult ändere? Das will mir irgendwie nicht in den Kopf gehen...
Delphi-Quellcode:
procedure TBauteilListe.GetPBauteil(ID: string);
procedure Rekursiv(p: PBauteil;const 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); // FPBauteil ist das Ergebnis, ein Pointer, der Auf das gefundene bauteil zeigt, Private Variable Meiner Klasse, die Klasse sieht so aus:
end;
Ich blick da einfach nicht durch, warum das mit P so ist, und weiß nicht wie ich es anders machen kann, sitzt da jetzt seit nen paar stunden dran, es wäre nett, wenn du mir das umschreiben könntest...
Aber bei P steht KEIN var davor! Wie das mit dem var funktioniert ist mir klar, aber ich verstehe nicht, warum P (ich meine nicht MyResult) geändert wird, wenn ich sage MyResult := P!
Richard Mahr
|
|
Zitat
|