Warum ein Record? Ernsthaft, wenn jmd irgendwo etwas sieht, was keine Klasse ist, wird er sich denken, dass es einen sehr guten Grund gab. Aber den gibt es hier überhaupt gar nicht.
Solche ÖHM....
Momente haben in APIs nix zu suchen.
Wo ist der Unterschied einer statischen Klasse oder einem Rekord in diesem Fall?
Delphi unterstützt nämlich keine Typenparameter in einfachen Routinen.
Records sind eigentlich dafür da sich eigene Value Typres zu basteln, die auch ohne Garbage Collector wie normale Werte zu benutzen sind.
Klassen sind dafür da um zum Beispiel
diese Art von Code zu enthalten. (Vor allem, da es auch noch komplett statisch ist... o_O )
Es gibt natürlich immer sinnvolle Ausnahmen, aber genau das ist hier überhaupt nicht der Fall gewesen.
Ich verbrachte nämlich beim lesen seines Beitrags etwas Zeit um rauszufinden, warum er es als Record deklarieren musste. Bis ich feststellte, dass es gar keinen Grund dafür gibt. Er hatte es einfach so gemacht, sozusagen eine Münze geworfen oder eine erhoffte Optimierung nach Cargo-Cult Style.
Du gibst ja auch keiner Klasse einen I-Präfix, außer wenn es unbedingt, aus irgendeinem drastischen Grund, sein muss.
Wenn du also eine Klasse mit einem I-Präfix siehst, wirst du wohl auch Zeit verbringen herauszufinden, warum der Autor das tun musste. Das gleiche gilt auch hier, nur 2 Nummern weniger dramatisch.