Vorrausgesetzt das TCols und TRows abgeleitet sind von TArrays oder so!
Hi, wenn ich mir das so anschaue hast Du viele doppelte Aufrufe deiner Arrays und benutzt sie gar nicht.
Delphi-Quellcode:
setlength(Cols4,15);//<----???? wird speicehr belegt
Cols4:=Cols41;
setlength(Cols4,15);//<---- wird neuer belegt
Des weiteren setzt Du in vielen For schleifen Deine Arrays neu, was Du ja eigentlich nicht brauchst, da der Zähler ja bekannt ist. So kannst Du schon im Vorfeld Deine Dyn Arrays setzten und musst nicht sinnlos Dein Speicher fragmentieren!!!
Delphi-Quellcode:
setlength(Rows4, Length(Cols4), Length(Rows41[0]) );//<---- z.B.
for i := 0 to Length(Rows41[0])-1 do
begin
k:=k+1;
setlength(Rows4,Length(Cols4),k);//<----währe überflüssig
Rows4[0,k-1]:=Rows41[0,i];//<----hier brauchst Du kein k mehr sondern i dürfte auch ausreichen!?
K:=K+1 am Anfang Deiner Forschleife und dann K-1 zu machen weil Dyn Arrays mit 0 beginnen ist auch nicht sehr effektiv! Gehört also am Schluss Deiner For schleife, wenn überhaupt benötigt. So gibt es bestimmt noch mehr Stellen die man effizienter machen kann um nicht sinnlos den Speicher zu belasten!?
Gruss alfold