Thema: Delphi Objektliste "kopieren"

Einzelnen Beitrag anzeigen

Alaitoc

Registriert seit: 24. Okt 2008
263 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Objektliste "kopieren"

  Alt 12. Nov 2008, 14:36
So mal zum allgemeinen Verständnis mal mein Programm, ich markier hier mal die relevanten Stellen.

Delphi-Quellcode:
procedure TMathParser.Parsen(TokenList:TTokenList;BinaryNode:PTBinaryNode);
begin
  if TokenPos(tkAdd,TokenList)>0 then
  begin
    BinaryNode:=CreateBinNode(TokenList,TokenPos(tkAdd,TokenList),BinaryNode);
    Parsen(SubTokenA(TokenList,tkAdd),BinaryNode);//!!!!!!!!
    Parsen(SubTokenB(TokenList,tkAdd),BinaryNode);//!!!!!!!!
  end
  else if TokenPos(tkSub,TokenList)>0 then
  begin
    ...
    ...
    ...
    ...
    ...
Delphi-Quellcode:
function SubTokenA(TokenList:TTokenList;Token:TTokens):TTokenList;
begin
 result:=CopyToken(TokenList,0,TokenPos(Token,TokenList));
end;

function SubTokenB(TokenList:TTokenList;Token:TTokens):TTokenList;
begin
  result:=CopyTokenEnd(TokenList,TokenPos(Token,Tokenlist)+1)
end;
Delphi-Quellcode:
function CopyToken(TokenList:TTokenList;Index,Count:Integer):TTokenList;
begin

end;
Im ersten Teil durchsucht er die Liste nach Tokens um daraus dann einen binären Baum zu erstellen, dabei teilt er immer durch SubTokenA und SubTokenB die Liste in zwei Hälften, dieses "Teilen" soll CopyToken übernehmen...indem es alle Items von Index bis Count kopiert und als Liste wiedergibt.

Ich muss hier halt wissen wie ich den Teil der Liste kopiere ohne mir ein Speicherloch zu kreieren, denn das hab ich bisher ganz gut hingekriegt auch wenn das Programm grundsätzlich geklappt hat.
  Mit Zitat antworten Zitat