Forum: Object-Pascal / Delphi-Language
Delphi
by Neutral General,
1. Mär 2019
Es ist bei Delphi nicht üblich, das stimmt.
Die Frage ist: Sollte es üblich sein? Meiner Meinung nach schon.
Aber ich wollte eigentlich gar keine riesige Diskussion über Delphi/Embarcadero/Idera auslösen :duck:
Ich denke man merkt, dass ich mittlerweile ziemlich frustriert bin was Delphi angeht... :oops:
Kann mir manchmal die Kommentare nicht mehr verkneifen :|
Aber lassen wir's gut...
Forum: Object-Pascal / Delphi-Language
Delphi
by Neutral General,
1. Mär 2019
Okay, es ist zumindest dokumentiert. Aber das macht es unterm Stricht nicht (viel) besser, oder?
Das Verhalten in 10.0 ist trotzdem falsch und die Methode in 10.3 ist trotzdem nicht abwärtskompatibel.
Und man kann auch nicht davon ausgehen, dass jeder die Patchnotes jeder (oder zumindest der momentan aktuellen) Version komplett von oben bis unten gelesen und sich behalten hat.
Forum: Object-Pascal / Delphi-Language
Delphi
by Neutral General,
1. Mär 2019
Ja gut, aber wie du ja schon gesagt hast ist das Verhalten in 10.0 ein Bug. Und ich benötige das korrekte Verhalten aus 10.3.
Da bringt mir leider die die Option, dass es in 10.3 auf Wunsch auch verbuggt ist nicht viel :|
Von daher denke ich schon, dass in 10.0 das Verhalten von 10.3 hätte nachgepatcht werden soll.
Erstens weil es in 10.0 falsch ist und zweitens weil die Methode jetzt nicht...
Forum: Object-Pascal / Delphi-Language
Delphi
by Neutral General,
1. Mär 2019
Aber warum wird das dann nicht in einem Patch für 10.0 auch behoben?
Im Prinzip muss ich TStringHelper.Split jetzt so behandeln als würde sie nicht existieren, weil sie nicht richtig funktioniert.
Und da bin ich Leuten die nicht wissen, dass TStringHelper.Split in 10.0 nicht richtig funktioniert sogar ein Stück voraus, weil ich immerhin keine bösen Überraschungen (mehr) zur Laufzeit erlebe....
Forum: Object-Pascal / Delphi-Language
Delphi
by Neutral General,
1. Mär 2019
Folgender Code gibt mir in 10.0 "4" aus und in 10.3 "5":
procedure TForm1.FormCreate(Sender: TObject);
var arr: TArray<String>;
begin
arr := 'a;b;;;'.Split();
Caption := IntToStr(Length(arr));
end;
Ist das bekannt? Gibts dafür einen guten Grund?