3 ms·
Most likely. For example, this: > passing in a member of a record rather than a pointer to that record... No idea why ...sounds like a difference in how the W
by Crinus 8y ago
Most likely. For example, this:
> passing in a member of a record rather than a pointer to that record... No idea why
...sounds like a difference in how the Windows API was exposed. In Delphi and Free Pascal there are two ways to expose a C function that uses a pointer. This:
void Foo(int* ip);
can be exposed like this:
procedure Foo(ip: PInteger); cdecl;
or like this:
procedure Foo(var ip: Integer); cdecl;
The former allows you to pass any pointer to integer, the latter requires an Integer variable reference (which is implemented by the compiler by passing a pointer to the variable). The difference between the two is that you can pass a Nil (Pascal's NULL) to the first, but the second requires a variable.
Older versions of Borland Pascal and Delphi (not sure about newer Delphi versions) used the second declaration style where it made sense, but Free Pascal uses a more direct translation of the Windows headers, opting for the first declaration style.
My guess is that the compiler used by the original author of UGE used the first style.