On Fri, 8 Feb 2013, Bart wrote:
Hi, Consider: Procedure TStringList.InsertItem(Index: Integer; const S: string); and Procedure TStringList.InsertItem(Index: Integer; const S: string; O: TObject); 1018 Procedure TStringList.InsertItem(Index: Integer; const S: string); 1019 begin 1020 Changing; 1021 If FCount=Fcapacity then Grow; 1022 If Index<FCount then 1023 System.Move (FList^[Index],FList^[Index+1], 1024 (FCount-Index)*SizeOf(TStringItem)); 1025 Pointer(Flist^[Index].Fstring):=Nil; // Needed to initialize... 1026 Flist^[Index].FString:=S; 1027 Flist^[Index].Fobject:=Nil; 1028 Inc(FCount); 1029 Changed; 1030 end; 1031 1032 1033 Procedure TStringList.InsertItem(Index: Integer; const S: string; O: TObject); 1034 begin 1035 Changing; 1036 If FCount=Fcapacity then Grow; 1037 If Index<FCount then 1038 System.Move (FList^[Index],FList^[Index+1], 1039 (FCount-Index)*SizeOf(TStringItem)); 1040 Pointer(Flist^[Index].Fstring):=Nil; // Needed to initialize... 1041 Flist^[Index].FString:=S; 1042 Flist^[Index].FObject:=O; 1043 Inc(FCount); 1044 Changed; 1045 end; Why doesn't TStringList.InsertItem(Index: Integer; const S: string); just call TStringList.InsertItem(Index, S, nil)?
It could do that, feel free to provide a patch :) Michael. _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal