Am 2016-08-02 um 12:25 schrieb Jürgen Hestermann: > ------------------------------------------ > type MyStringType = string; > var S : MyStringType; > Liste : array of MyStringType; > i : SizeInt; > > begin > [..] // "Liste" is setup with many string entries (which are also shown correctly with Ctrl+F7 (evaluate/modify) > S := ''; > for i := Low(Liste) to High(Liste) do > S := S+Liste[i]+LineEnding; > SetLength(Liste,0); > ShowMessage(S); > end; > ------------------------------------------
I just tested a bit more and it seems that the problem is located in the way the strings are fed into "Liste" which is done like this from a Windows API function: ------------------------------------------ if FindNextFileNameW(H,Laenge,@Pfad[1]) then begin SetLength(Liste,Length(Liste)+1); Liste[High(Liste)] := copy(Pfad,1,Laenge); end; ------------------------------------------ where "Pfad" is a "widestring" (because of the Windows W-function), "H" is of type "hwnd" and "Laenge" is "SizeInt". I would expect that with the new string encoding handling widestring will be converted automatically to "MyStringType" (which is string in my case). This assumption is encouraged by the fact that "Liste" is shown with the correct list of all strings in the evaluate window when debugging. The interesting thing is, that *one* (the first) string from "Liste" is added to "S" (but all others are missing). _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal