Hallo Forum,
nein als Zielplattform ist weiter 32bit eingestellt.
Ich habe ja in den Zeos sourcen überhaupt nichts geändert.
Kenne leider die Objectorientierte Programmierung nicht (Hab bisher meist PHP funktionale Programmierung - allerhöchstens objectbasiert aber nicht objectorientiert programmiert)
Delphi-Quellcode:
function TZSymbolNode.FindChildWithChar(Value: Char): TZSymbolNode;
var
I: Integer;
Current: TZSymbolNode;
begin
Result := nil;
for I := 0 to 255 do
begin
Current := Children[I]; <-------
if (Current = nil) or (Current.Character = Value) then
begin
Result := Current;
Break;
end;
end;
end;
Woher kommt den die Variable Children? Ist das eine globale Variable? Ich denke nicht muß wohl was wie Childs vom Objekt TZSymbolNode sein?
Ja laut Debugger sind da 256 member(?) von Children nil
Ich suche jetzt also wie vorgeschlagen nach
TZSymbolNode.Create
Delphi-Quellcode:
// also finde ich hier
constructor TZSymbolNode.Create(Parent: TZSymbolNode; Character: Char);
begin
FParent := Parent;
FCharacter := Character;
FValid := False;
SetLength(FChildren, 256);
end;
// und hier
constructor TZSymbolRootNode.Create;
var
I: Integer;
begin
inherited Create(nil, #0);
for I := 0 to 255 do
begin
FChildren[I] := TZSymbolNode.Create(Self, Chr(I));
FChildren[I].Valid := True;
end;
end;
wenn man den Aufrufstack anschaut (siehe Anhang) kann man vieleicht das ganze verkürzen? den wie gesagt am Quellcode der Zeos Komponenten habe ich nichts geändert.
sorry für die blutigen Anfängerfragen.