Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!snorkelwacker!ira.uka.de!fauern!lan!rommel From: rommel@lan.informatik.tu-muenchen.dbp.de (Kai-Uwe Rommel) Newsgroups: comp.windows.ms Subject: Re: Exporting procedures Message-ID: <4553@tuminfo1.lan.informatik.tu-muenchen.dbp.de> Date: 20 Sep 90 11:33:24 GMT References: <26F36B2D.10575@ics.uci.edu> <10777@life.ai.mit.edu> Sender: news@lan.informatik.tu-muenchen.dbp.de Reply-To: rommel@lan.informatik.tu-muenchen.dbp.de (Kai-Uwe Rommel) Organization: Inst. fuer Informatik, TU Muenchen, W. Germany Lines: 71 For Windows 2.0 development, I used the following patch to windows.h (I did not yet get the Windows 3.0 SDK). When defining WINEXPORT before including this modified windows.h, you can forget about exporting the window procedures in your .DEF file when you declare all Window procedure as "LONG CALLBACK WndProc(...)" etc. Kai Uwe Rommel *** windows.old --- windows.h ************** *** 94,99 #define LONG long #define VOID void typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD; --- 94,105 ----- #define LONG long #define VOID void + #ifdef WINEXPORT + #define CALLBACK FAR PASCAL _export /* K.U.R. */ + #else + #define CALLBACK FAR PASCAL + #endif + typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD; ************** *** 552,558 typedef HANDLE NEAR *SPHANDLE; typedef HANDLE FAR *LPHANDLE; ! typedef int (FAR PASCAL *FARPROC)(); typedef int (NEAR PASCAL *NEARPROC)(); typedef HANDLE GLOBALHANDLE; typedef HANDLE LOCALHANDLE; --- 558,564 ----- typedef HANDLE NEAR *SPHANDLE; typedef HANDLE FAR *LPHANDLE; ! typedef int (CALLBACK *FARPROC)(); /* K.U.R. */ typedef int (NEAR PASCAL *NEARPROC)(); typedef HANDLE GLOBALHANDLE; typedef HANDLE LOCALHANDLE; ************** *** 610,616 #ifndef NOBRUSH typedef struct tagWNDCLASS { WORD style; ! long (FAR PASCAL *lpfnWndProc)(); int cbClsExtra; int cbWndExtra; HANDLE hInstance; --- 616,622 ----- #ifndef NOBRUSH typedef struct tagWNDCLASS { WORD style; ! long (CALLBACK *lpfnWndProc)(); /* K.U.R. */ int cbClsExtra; int cbWndExtra; HANDLE hInstance; -- /* Kai Uwe Rommel * Munich * rommel@lan.informatik.tu-muenchen.dbp.de */