the C_TYPES used in the demo/win32 directory demos depended on Euphoria treating all types as 4 bytes. this is no longer always true.
the use of LONG or INT worked in spite of the official windows definitions being unsigned long or unsigned int in most cases. for win64 in Euphoria 4.1 the demos will not run and did fail on some minGW built binaries. updating these C_TYPES is not really important for the 4.0 release but may as well be 4.1 ready.
Note: no change required in std/dll.e, but it could be a source of error in user programs that also will be run in eu4.1 or win64 eventually. additional changes are expected to happen in 4.1 with the new memory structure syntax and the demos will get those improvements.
eu4.1 std/dll.e will have a version of these definitions.
--****
-- === Windows Data Type constants for function/procedure calls
public constant
C_BYTE = C_UCHAR,
C_BOOL = C_INT,
C_ATOM = C_USHORT,
C_WORD = C_USHORT,
C_DWORD= C_ULONG,
C_WPARAM = C_POINTER,
C_LPARAM = C_POINTER,
C_HFILE = C_INT,
C_HWND = C_POINTER,
C_HANDLE = C_POINTER, --all other H* are HANDLE
C_WNDPROC = C_POINTER,
C_LPSTR = C_POINTER,
C_LRESULT = C_POINTER,
C_LANGID = C_WORD,
C_COLORREF = C_DWORD, --0x00bbggrr
$
changeset: 5453:207b47fa6a62 branch: 4.0 tag: tip parent: 5441:cf129d27c940 user: ne1uno <ne1uno@users.sourceforge.net> date: Sat Jan 07 01:30:50 2012 -0400 files: demo/win32/taskwire.exw demo/win32/window.exw demo/win32/winwire.exw docs/release/4.0.4.txt description: refactor win32 demos use of C_TYPES to be eu4.1 ready fixes ticket:741