Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.167 Beiträge
 
Delphi 12 Athens
 
#3

AW: Verhalten von String.Join bzgl. Array of Const Parameter

  Alt 19. Nov 2020, 17:58
k.A. wer auf die schwachsinige geniale Idee kam, aber der WideChar wurde im string.Join vergessen.
> 'x' mit nur einem Zeichen ist ein Char (WideChar)
> und bei mehr oder weniger/keinem Zeichen ist es ein String (UnicodeString)

Außer im NEXTGEN (wo es hier garkeine Chars gibt), wurde nur vtChar und vtPChar implementiert, was aber die AnsiChar und PAnsiChar sind,
wobei der Compiler aber deine 'Zeichen' als WideChar übergibt.

Ebenso darfst du keine AnsiString, WideString, PWideChar, Variant oder ShortString verwenden,
siehe ValueToString im TStringHelper.Join
und alles was diese Funktion nicht kennt, wird mit "(Unknown) : %d" beantwortet.
Und es gibt keinen vernünftigen Grund, warum diese 5 Zeilen Code weggelassen wurden.
(die Codevervollständigung füllt Einem schließlich das CASE und es ist mehr Aufwand jenes geziehlt wegzulassen)


Fazit: Einzelne Zeichen mußt du entweder nach String oder AnsiChar casten,
oder warten bis in 1-5 Jahren der Fehler behoben wurde, nachdem du ihn gemeldet hast.



Fun-Fact: entweder nutzt sonst niemand das Join oder es kam viele Jahre lang noch niemand auf die Idee einzelne Char-Konstanten reinzugeben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (19. Nov 2020 um 18:17 Uhr)
  Mit Zitat antworten Zitat