When the loop runs again Assigned in InitVars is false so as soon as those FBreakStrings and SCStrings are accessed within the loop a SIGSEGV occurs. So what I want to know is whether Assigned remains true when Free is executed. See my previous answer. There is a helper function "procedure FreeAndNil(var obj);" that calls obj.free and sets obj to nil. So instead of SCStrings.Free; SCStrings:=nil; call FreeAndNil(SCStrings); Ludo
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal