Galkov писал(а):
ну или: if (FIndex<0) or (FIndex>=Flist.Count) then FIndex := -1;вот это ещё интереснее, так бы и устаканить, можно будет скакать по списку, при миллионных списках, с одинаковой скоростью
#pas
procedure THIStrList._work_doGetString;
begin
FIndex :=ReadInteger(_Data, _data_IdxToSelect);
FString := FList.Items[FIndex];
if (FIndex<0) or (FIndex>=Flist.Count) then FIndex := -1;
//FString := FList.Items[ReadInteger(_Data, _data_IdxToSelect)];
//FIndex := FList.IndexOf(FString);
_hi_CreateEvent(_Data, @_event_onGetString, FString);
end;