3 ms·
Were all those errors observable back in 2000? It could be that compiler and operating systems differences now are what caused/revealed some bugs. For example t
by Thorrez 8y ago
Were all those errors observable back in 2000? It could be that compiler and operating systems differences now are what caused/revealed some bugs. For example the speed problem was probably much less back then due to slower computers.
- Crinus 8y agoMost 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.