You are not logged in.
Pages: 1
Hi,
I noticed that the type SqlHWnd is currently declared as
SqlHWnd = LongWord;
But, according to the ODBC API, SQLHWND is defined as HWND, which itself is declared as void*.
Declaring it as LongWord forces it to 32 bits, which breaks compatibility on 64-bit Windows.
It should instead be declared as a pointer type (PtrUInt).
Offline
The variables of this type are used in two functions as parameters: SqlDriverConnectA and SqlDriverConnectW.
On Win64, since parameters are passed through registers and the HWND type fits within 32 bits, no fatal errors occur in practice.
However, the type declaration should still be corrected for proper compatibility and clarity.
Offline
Please try with https://github.com/synopse/mORMot2/commit/aefadc4f0
Offline
Pages: 1