• Sam Lantinga's avatar
    Date: Tue, 05 Jul 2005 21:43:26 +1000 · f437ac41
    Sam Lantinga authored
    From: Sean Childs
    Subject: [SDL] Compiling SDL 1.2.8 with the free Borland compiler
    
    When compiling SDL 1.2.8 with the free Borland compiler, I received this
    error (there is a similar error that occurs in
    src\video\windx5\sdl_dx5events.c):
    Error E2342 ..\..\src\video\windib\sdl_dibevents.c 189: Type mismatch in
    parameter 'lpPrevWndFunc' (wanted 'int (__stdcall *)()', got 'long
    (__stdcall *)(void *,unsigned int,unsigned int,long)') in function
    DIB_HandleMessage
    
    
    I checked the MSDN library at:
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/
    windowsuserinterface/windowing/windowprocedures/windowprocedurereference/wind
    owprocedurefunctions/callwindowproc.asp
    
    and it had this to say:
    If STRICT is not defined, the lpPrevWndFunc parameter has the data type
    FARPROC. The FARPROC type is declared as follows:
    
    int (FAR WINAPI * FARPROC) ()
    
    In C, the FARPROC declaration indicates a callback function that has an
    unspecified parameter list. In C++, however, the empty parameter list in
    the declaration indicates that a function has no parameters. This subtle
    distinction can break careless code. Following is one way to handle this
    situation:
    
    #ifdef STRICT
       WNDPROC MyWindowProcedure
    #else
       FARPROC MyWindowProcedure
    #endif
    ...
       lResult = CallWindowProc(MyWindowProcedure, ...)
    
    --HG--
    extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401306
    f437ac41
Name
Last commit
Last update
docs Loading commit data...
include Loading commit data...
src Loading commit data...
test Loading commit data...
.cvsignore Loading commit data...
BUGS Loading commit data...
Borland.html Loading commit data...
Borland.zip Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
CWprojects.sea.bin Loading commit data...
EpocBuildFiles.zip Loading commit data...
INSTALL Loading commit data...
MPWmake.sea.bin Loading commit data...
Makefile.am Loading commit data...
Makefile.dc Loading commit data...
PBProjects.tar.gz Loading commit data...
README Loading commit data...
README-SDL.txt Loading commit data...
README.AmigaOS Loading commit data...
README.CVS Loading commit data...
README.DC Loading commit data...
README.Epoc Loading commit data...
README.MacOS Loading commit data...
README.MacOSX Loading commit data...
README.MiNT Loading commit data...
README.NanoX Loading commit data...
README.OS2 Loading commit data...
README.PicoGUI Loading commit data...
README.QNX Loading commit data...
README.Qtopia Loading commit data...
README.RISCOS Loading commit data...
README.WinCE Loading commit data...
README.wscons Loading commit data...
SDL.qpg.in Loading commit data...
SDL.spec.in Loading commit data...
TODO Loading commit data...
VisualC.html Loading commit data...
VisualC.zip Loading commit data...
VisualCE.zip Loading commit data...
Watcom.mif Loading commit data...
WhatsNew Loading commit data...
acinclude.m4 Loading commit data...
autogen.sh Loading commit data...
config.guess Loading commit data...
config.sub Loading commit data...
configure.in Loading commit data...
docs.html Loading commit data...
ltmain.sh Loading commit data...
sdl-config.in Loading commit data...
sdl.m4 Loading commit data...
setvars.cmd Loading commit data...
strip_fPIC.sh Loading commit data...