Also da in Copy ja nichts an S geändert wird, liefert Length(S) auch das Richtige. Ausserdem hatte ich mir ja auch schon die Ergebnisse der Funktionen angesehn und beide Male wird auch '' zurückgegeben, ausserdem tritt das ja auch nur auf, wenn alles gelöscht wird, sonst nicht
Code:
Function CopyW(S: WideString; Index, Count: LongInt): WideString;
Begin
[color=red]>>> hab mir hier S, Index und Count anzeigen lassen[/color]
[color=red] und sie waren so, wie sie es sein sollten[/color]
If Index < 1 Then Index := 1;
If Count < 0 Then Count := 0;
If Index + Count - 1 > Length(S) Then Count := Length(S) - Index + 1;
If Count > 0 Then Begin
SetLength(Result, Count);
Move(S[Index], Result[1], Count shl 1);
End Else SetLength(Result, 0);
[color=red]>>> hab mir hier Result anzeigen lassen und es war tatsächlich '' ?[/color]
End;
Also, wie gesagt ... CopyW liefert das Richtige, aber es wird halt nur nicht übergeben.