Ich habe den Übeltäter.
Längere Texte werden ggf. bei der Übertragung gesplittet.
Mein Handler hatte hier noch einen Bug und hat die unvollständigen Teile schon verarbeitet. Das Problem trat auf meinen 2 Rechnern nicht auf, aber bei allen anderen getesteten. Das lag wohl daran, wie die einzelnen Threads jeweils zeitlich zum arbeiten kommen.
Also falls das jemand nutzen will dann hier ein Bugfix:
Delphi-Quellcode:
function TsoConnectionStringList.GetNextSL: TStringList;
var
C: Integer;
begin
fCS.Enter;
try
if (fIndex < fItems.Count)
then
begin
C := StrToInt(fItems[fIndex]);
fItems[fIndex] := '
';
Inc(fIndex);
Result := TStringList.Create;
while (C > 0)
do
begin
Result.Add(fItems[fIndex]);
fItems[fIndex] := '
';
Inc(fIndex);
Inc(fTransferCounter);
Dec(C);
end;
if (fIndex >= fItems.Count)
then
begin
fItems.Clear;
fIndex := 0;
end
else
begin
if (fIndex > 1000)
then
begin
while (fItems.Count > 0)
and (fItems[0] = '
')
do
begin
fItems.Delete(0);
Dec(fIndex);
end;
end;
end;
end
else
Result :=
nil;
finally
fCS.Leave;
end;
end;