ohne Records könnte man man einen Großteil der ApiAufrufe nicht nutzen da eben eine Struktur erwartet wird bzw. ein Pointer auf diese Struktur. natürlich könnte man an dieser stelle auch ein PChar übergeben der die gewünschte länge hat und diesen dann im Hauptprogramm auseinander stückeln, aber das bringt mehr aufwand als nutzen.
Diesen Apifunktionen Objecte zu übergeben geht nicht da die Objecte sich schon zwischen den Delphiversionen unterscheiden und von
DLL's die in anderen Programmiersprachen geschrieben wurden erst recht nicht verwendet werden können.
Oder wie wöllte man ohne Records zum Beispiel folgende Funktionen benutzen
Code:
BOOL GetWindowPlacement(
HWND hWnd, //
handle of window
WINDOWPLACEMENT *lpwndpl // address of structure for position data
);
Code:
BOOL GetWindowRect(
HWND hWnd, //
handle of window
LPRECT lpRect // address of structure for window coordinates
);
Man könnte in diesen Fällen eben nur den Umweg über PChars gehen und diese dann später zerpflücken was wie schon geschrieben bissl zu viel aufwand wäre.