[fpc-pascal] fpc 3.2: "Declaration of type TTypeList changed"
Luca Olivetti
luca at ventoso.org
Thu Apr 25 22:23:19 CEST 2019
Hello,
as per the subject, I've been bitten by this change:
http://wiki.freepascal.org/User_Changes_Trunk#Declaration_of_type_TTypeList_changed
This code (FTasks is a specialization of TFPGList)
for i:=0 to FTasks.Count-1 do
begin
FTasks.List^[i].rackData:=FindRack(FTasks[i].rack);
FTasks.List^[i].cellData:=
FindCell(FTasks[i].rackData,FTasks[i].cell);
end;
worked before.
Now it compiles with no warnings but it segfaults.
(This is just an example, there are other instances where I use List^[]
and they also segfault).
I changed the above code to be
LocTask:=FTasks[i];
LocTask.RackData:=...;
LocTask.CellData:=....;
FTasks[i]:=LocTask;
but I don't understand why the former implementation bombs. The change
in the definition of TTypeList shouldn't have that effect, besides, as I
said, I get no warning compiling the code (apart from the ton of
messages about the assignment not inlined).
Bye
--
Luca
More information about the fpc-pascal
mailing list