Hi Leute
Ich hab da ein kleines Problem beim auslesen untypisierte Daten aus einer TList.
hier erstmal der Code:
Delphi-Quellcode:
type
THanoiList =
class(TList)
...
end;
procedure THanoiList.AddMove(aiFrom, aiTo : Integer);
Var
pCur : PByte;
bDS : Byte;
begin
if dwClusterFill >= dwClusterSize
shl 1
then
AddCluster;
if (aiFrom
in [0..2])
and (aiTo
in [0..2])
then
begin
bDS := aiFrom
or (aiTo
shl 2);
pCur := Last;
Inc(pCur, dwClusterFill
shr 1);
if (dwClusterFill
and 1) = 0
then
pCur^ :=
bDS
else
pCur^ := pCur^
or (
bDS shl 4);
end
end;
procedure THanoiList.GetMove(aiIndex : Int64;
var iFrom, iTo : Integer);
Var
pCur : PByte;
bDS : Byte;
begin
if Count = 1
then
begin
pCur := Last;
Inc(pCur, aiIndex
shr 1);
if (aiIndex
and 1) = 0
then
bDS := pCur^
else
bDS := pCur^
shr 4;
end;
iTo :=
bDS shr 2;
iFrom :=
bDS and (iTo
shl 2);
end;
Bei
GetMove hab ich irgendeinen Fehler gemacht, den ich leider nicht finde. Nach meiner Logik funktioniert es eigentlich
aber nicht nach Delphis Logik
Kann mir vielleicht einer von euch sagen wo der Fehler steckt?
Schonmal vielen Dank an euch