Ich gehe auch mal davon aus, dass es nicht an Delphi liegt, sondern an einem Fehler im Code.
Du könntest zum einen verschiedene Prüfungen vornehmen, ob die Liste gültig ist bzw. der Indexeintrag. Wenn der nicht gültig ist, sollte eigentlich nur ein Listindex-Fehler auftreten.
Test etwa so:
Delphi-Quellcode:
if (Stringlist1 <> NIL) and (Stringlist1.count >0) then
s := StringList1[0];
end;
Du könntest bei Deiner speziellen Problemstellung im Debugger auch Prüfen, wie der Inhalt von StringList1.text aussieht (ob da also auch der Teil drin steht, den Du erwartest).
Ein alternativer Zugriff auf StringList[0] mit den Standardeinstellungen der StringList ginge auch so:
Delphi-Quellcode:
if StringList1 <> NIL then begin
S := copy (stringlist1.text, 1, pos (sLinebreak, stringlist1.text)-1);
end;
--