Forum: Object-Pascal / Delphi-Language
by himitsu,
7. Jun 2021
Das Create Initialize machen die Records jetzt auch alleine. (siehe #19)
Komplizierter? (bei Verwendung oder nur bei der Definition)
Naja, beim Befüllen ist es aber sicherer sichtbarer was an wen übergeben wird.
Bei vielen Parametern kann man schnell mal verrutschen, vorallem wenn alles den selben Typ hat ... und rein optisch kommt es fast auf's Selbe raus, wie die Array-Lösung von #14.
...
Forum: Object-Pascal / Delphi-Language
by himitsu,
7. Jun 2021
Naja "zeitgemäß" ....
das mit den "zuvielen Parametern" wird schon seit Jahrzehnten in StyleGuids/Pattern angekreidet, dass man sowas besser nicht machen sollte.
type
TNuRohrTubulentParameter = record // oder object
Re, Pr, d_i, L, Eta, Eta_W: Double;
c1, c2, c3, c4, c5, c6: Double;
end;
Forum: Object-Pascal / Delphi-Language
by himitsu,
6. Jun 2021
Warum kommt niemand auf die Idee sich mal zu überlegen, ob es überhaupt sinnvoll ist, sooooo viele Parameter zu haben.
PS, dazu wird in vielen StyleGuides was gesagt, nicht nur bezüglich Delphi.
Lösung: DataRecords bzw. DataObjects
Aber das kann man auch problemlos umdrehen, also anstatt Parameter-Record/Objekt an Funktion, einfach die Funktion in den Record/Objekt.
type
...
Forum: Object-Pascal / Delphi-Language
by himitsu,
6. Jun 2021
Und jetzt darfst das DocInsight nicht vergessen, weil sonst weiß niemand, wie man diese Funktion aufrufen soll.
Forum: Object-Pascal / Delphi-Language
by himitsu,
5. Jun 2021
Was genau soll eigentlich erreicht werden?
type
TDRecord = record
X, Y: Extended;
class operator Initialize(out Dest: TMyRecord);
end;