Hallo habe das gleiche Problem
egal ob in Vista oder XP und zwar in der folgenden
Procedure bei Strings.Add(S); knallt es.
Eine EAccessViolation hat wahrscheinlich was
mit JclUnicode.TWideStrings zu schaffen.
Delphi-Quellcode:
procedure ExtractStrings(Separator: WideChar; const Content: WideString;
Strings: {$IFDEF COMPILER12_UP}TStrings{$ELSE}JclUnicode.TWideStrings{$ENDIF COMPILER12_UP});
var
Tail: PWideChar;
S: WideString;
EOS: Boolean;
ContentPtr: PWideChar;
begin
ContentPtr := PWideChar(Content);
if (ContentPtr = nil) or (ContentPtr^ = WideNull) or (Strings = nil) then
Exit;
Strings.BeginUpdate;
try
Tail := ContentPtr;
repeat
while (Tail^ <> Separator) and (Tail^ <> WideNull) do
Inc(Tail);
EOS := Tail^ = WideNull;
SetLength(S, Tail - ContentPtr);
Move(ContentPtr[0], S[1], (Tail - ContentPtr) * SizeOf(WideChar));
Strings.Add(S);
Inc(Tail);
ContentPtr := Tail;
until EOS;
finally
Strings.EndUpdate;
end;
end;
[edit=SirThornberry]Delphi-Tags gesetzt - nächstes mal bitte selbst machen. Mfg, SirThornberry[/edit]