BC++/16-bit support now working, but without resource system

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart 1998-12-29 11:02:36 +00:00
parent 3eb78d7ebb
commit 3b1de9c2ee
10 changed files with 1651 additions and 36 deletions

View File

@ -2,7 +2,7 @@
wxWindows 2.0 for Windows Change Log wxWindows 2.0 for Windows Change Log
------------------------------------ ------------------------------------
Alpha 18, December 23nd 1998 Alpha 18, December 29th 1998
---------------------------- ----------------------------
- Win16 support working again (VC++ 1.5) - Win16 support working again (VC++ 1.5)
@ -11,6 +11,9 @@ Alpha 18, December 23nd 1998
a little work on wxNotebook is still needed. a little work on wxNotebook is still needed.
Under 16-bit Windows, get assertion when you click Under 16-bit Windows, get assertion when you click
on a tab. on a tab.
- Wrote 16-bit BC++ makefiles: samples don't yet link.
- Added CodeWarrior support to distribution courtesy
of Stefan Csomor.
Alpha 17, November 22nd 1998 Alpha 17, November 22nd 1998
---------------------------- ----------------------------

View File

@ -19,6 +19,7 @@ wx200hlp.zip WinHelp documentation
wx200pdf.zip Acrobat PDF documentation wx200pdf.zip Acrobat PDF documentation
wx200htm.zip HTML documentation wx200htm.zip HTML documentation
wx200vc.zip MS VC++ 5.0 project files wx200vc.zip MS VC++ 5.0 project files
wx200cw.zip Metrowerks CodeWarrior project files
Unarchive the required files plus any optional documentation Unarchive the required files plus any optional documentation
files into a suitable directory such as c:\wx. Alter your files into a suitable directory such as c:\wx. Alter your
@ -73,12 +74,9 @@ Borland C++ 4.5/5.0 compilation
3. Change directory to a sample such as minimal, and type 3. Change directory to a sample such as minimal, and type
'make -f makefile.b32'. 'make -f makefile.b32'.
Note: the wxWindows library compiles in 16-bit mode (using makefile.bcc), Note: the wxWindows library and (some) samples compile in 16-bit mode
but the samples do not link because of the error: using makefile.bcc, but at present the wxWindows resource system is switched
off in this mode. See issues.txt for details.
Segment TEXT_RESOURCE exceeds 64K.
There may or may not be anything we can do about this.
Watcom C++ 10.6 compilation Watcom C++ 10.6 compilation
--------------------------- ---------------------------
@ -96,8 +94,11 @@ Currently under construction, but so far we have:
Metrowerks CodeWarrior compilation Metrowerks CodeWarrior compilation
---------------------------------- ----------------------------------
Support is currently being added for this compiler by Stefan 1. Downloaded and unzip wx200cw.zip.
Csomor. 2. Load the make_cw.mcp project in wx\src, and compile.
3. Load the make_cw.mcp project in wx\samples\minimal, and compile.
Further project files for samples will be available in due
course.
Gnu-Win32 b19/b20/Mingw32 compilation Gnu-Win32 b19/b20/Mingw32 compilation
------------------------------------- -------------------------------------

View File

@ -8,3 +8,22 @@ This conflicts with wxUSE_IOSTREAMSH = 0 using MS VC++ 5.0
(crashes the template code). It should be switched off if you (crashes the template code). It should be switched off if you
wish to use wxUSE_IOSTREAMSH = 0. wish to use wxUSE_IOSTREAMSH = 0.
BC++ in 16-bit mode
-------------------
resource.cpp has to be split into two to compile (hence
resourc2.cpp). Unfortunately we still get the error:
Segment TEXT_RESOURCE exceeds 64K.
The solution is probably to load wxResourceBitListTable
dynamically using LoadString to load the names, and initialize the table
at wxWindows start-up.
Meanwhile the work-around is to switch wxUSE_WX_RESOURCES to 0
(done in setup.h if BC++/16-bit mode is detected).
See also:
http://www.inprise.com/devsupport/borlandcpp/ti_list/TI703.html
http://www.inprise.com/devsupport/borlandcpp/ti/TI1007.html

View File

@ -55,8 +55,16 @@
/// generic assert macro /// generic assert macro
#define wxASSERT(cond) if ( !(cond) ) wxOnAssert(__FILE__, __LINE__) #define wxASSERT(cond) if ( !(cond) ) wxOnAssert(__FILE__, __LINE__)
#if 0 // defined(__BORLANDC__) && defined(__WIN16__)
// Too much text, so make wxASSERT_MSG the same as wxASSERT,
// thus removing the text from the program.
#define wxASSERT_MSG(x, m) if ( !(x) ) wxOnAssert(__FILE__, __LINE__)
#else
/// assert with additional message explaining it's cause /// assert with additional message explaining it's cause
#define wxASSERT_MSG(x, m) if ( !(x) ) wxOnAssert(__FILE__, __LINE__, m) #define wxASSERT_MSG(x, m) if ( !(x) ) wxOnAssert(__FILE__, __LINE__, m)
#endif
#else #else
// nothing to do in release modes (hopefully at this moment there are // nothing to do in release modes (hopefully at this moment there are
// no more bugs ;-) // no more bugs ;-)
@ -66,8 +74,15 @@
/// special form of assert: always triggers it (in debug mode) /// special form of assert: always triggers it (in debug mode)
#define wxFAIL wxASSERT(wxFalse) #define wxFAIL wxASSERT(wxFalse)
#if 0 // defined(__BORLANDC__) && defined(__WIN16__)
// Too much text, so make wxFAIL_MSG the same as wxFAIL,
// thus removing the text from the program.
#define wxFAIL_MSG(msg) wxASSERT(wxFalse)
#else
/// FAIL with some message /// FAIL with some message
#define wxFAIL_MSG(msg) wxASSERT_MSG(wxFalse, msg) #define wxFAIL_MSG(msg) wxASSERT_MSG(wxFalse, msg)
#endif
//@} //@}
// NB: these macros work also in release mode! // NB: these macros work also in release mode!

View File

@ -88,6 +88,12 @@
#define wxUSE_WX_RESOURCES 1 #define wxUSE_WX_RESOURCES 1
// Use .wxr resource mechanism (requires PrologIO library) // Use .wxr resource mechanism (requires PrologIO library)
// BC++/Win16 can't cope with the amount of data in resource.cpp
#if defined(__WIN16__) && defined(__BORLANDC__)
#undef wxUSE_WX_RESOURCES
#define wxUSE_WX_RESOURCES 0
#endif
#define HAVE_SOCKET 1 #define HAVE_SOCKET 1
// Use WinSock if 1 // Use WinSock if 1
#define wxUSE_DOC_VIEW_ARCHITECTURE 1 #define wxUSE_DOC_VIEW_ARCHITECTURE 1

1577
src/common/resourc2.cpp Normal file

File diff suppressed because it is too large Load Diff

View File

@ -93,10 +93,10 @@ bool wxResourceParseIncludeFile(const wxString& f, wxResourceTable *table = (wxR
wxResourceTable *wxDefaultResourceTable = (wxResourceTable *) NULL; wxResourceTable *wxDefaultResourceTable = (wxResourceTable *) NULL;
static char *wxResourceBuffer = (char *) NULL; char *wxResourceBuffer = (char *) NULL;
static long wxResourceBufferSize = 0; long wxResourceBufferSize = 0;
static long wxResourceBufferCount = 0; long wxResourceBufferCount = 0;
static int wxResourceStringPtr = 0; int wxResourceStringPtr = 0;
void wxInitializeResourceSystem() void wxInitializeResourceSystem()
{ {
@ -1423,6 +1423,9 @@ wxFont wxResourceInterpretFontSpec(wxExpr *expr)
return font; return font;
} }
// Separate file for the remainder of this, for BC++/Win16
#if !(defined(__BORLANDC__) && defined(__WIN16__))
/* /*
* (Re)allocate buffer for reading in from resource file * (Re)allocate buffer for reading in from resource file
*/ */
@ -2895,4 +2898,7 @@ wxControl *wxWindow::CreateItem(const wxItemResource *resource, const wxItemReso
#pragma warning(default:4706) // assignment within conditional expression #pragma warning(default:4706) // assignment within conditional expression
#endif // VC++ #endif // VC++
#endif
// BC++/Win16
#endif // wxUSE_WX_RESOURCES #endif // wxUSE_WX_RESOURCES

View File

@ -4,22 +4,7 @@
!include $(WXDIR)\src\makebcc.env !include $(WXDIR)\src\makebcc.env
WXLIB = $(WXDIR)\lib\wx.lib WXLIB = $(WXDIR)\lib\wx.lib
LIBS=$(WXLIB) mathwl cwl import LIBS=$(WXLIB) mathwl cwl import ole2w16
!ifndef FINAL
FINAL=0
!endif
!if "$(FINAL)" == "0"
LINKFLAGS=/v/Vt /Twe /L$(WXDIR)\lib;$(BCCDIR)\lib
OPT = -Od
DEBUG_FLAGS= -v
!else
LINKFLAGS=/Twe /L$(WXDIR)\lib;$(BCCDIR)\lib
OPT = -O2
DEBUG_FLAGS =
!endif
CPPFLAGS=$(DEBUG_FLAGS) $(OPT) @$(CFG)
all: $(TARGET).exe all: $(TARGET).exe

View File

@ -557,7 +557,7 @@ int wxEntry(WXHINSTANCE hInstance,
int nCmdShow, int nCmdShow,
bool enterLoop) bool enterLoop)
{ {
#ifndef __WXDEBUG__ // take everything into a try-except block in release build #if !defined(__WXDEBUG__) && !defined(__BORLANDC__) // take everything into a try-except block in release build
try { try {
#endif #endif
@ -627,7 +627,7 @@ int wxEntry(WXHINSTANCE hInstance,
wxApp::CleanUp(); wxApp::CleanUp();
return retValue; return retValue;
#ifndef __WXDEBUG__ // catch exceptions only in release build #if !defined(__WXDEBUG__) && !defined(__BORLANDC__) // catch exceptions only in release build
} }
except ( EXCEPTION_EXECUTE_HANDLER ) { except ( EXCEPTION_EXECUTE_HANDLER ) {
/* /*

View File

@ -115,6 +115,7 @@ COMMONOBJS = \
$(MSWDIR)\postscrp.obj \ $(MSWDIR)\postscrp.obj \
$(MSWDIR)\prntbase.obj \ $(MSWDIR)\prntbase.obj \
$(MSWDIR)\resource.obj \ $(MSWDIR)\resource.obj \
$(MSWDIR)\resourc2.obj \
$(MSWDIR)\tbarbase.obj \ $(MSWDIR)\tbarbase.obj \
$(MSWDIR)\tbarsmpl.obj \ $(MSWDIR)\tbarsmpl.obj \
$(MSWDIR)\textfile.obj \ $(MSWDIR)\textfile.obj \
@ -188,7 +189,6 @@ MSWOBJS = \
$(MSWDIR)\gdiobj.obj \ $(MSWDIR)\gdiobj.obj \
$(MSWDIR)\helpwin.obj \ $(MSWDIR)\helpwin.obj \
$(MSWDIR)\icon.obj \ $(MSWDIR)\icon.obj \
$(MSWDIR)\imaglist.obj \
$(MSWDIR)\iniconf.obj \ $(MSWDIR)\iniconf.obj \
$(MSWDIR)\joystick.obj \ $(MSWDIR)\joystick.obj \
$(MSWDIR)\listbox.obj \ $(MSWDIR)\listbox.obj \
@ -236,6 +236,7 @@ MSWOBJS = \
# $(MSWDIR)\uuid.obj # $(MSWDIR)\uuid.obj
# $(MSWDIR)\droptgt.obj \ # $(MSWDIR)\droptgt.obj \
# $(MSWDIR)\dropsrc.obj \ # $(MSWDIR)\dropsrc.obj \
# $(MSWDIR)\imaglist.obj \
# $(MSWDIR)\notebook.obj \ # $(MSWDIR)\notebook.obj \
# $(MSWDIR)\listctrl.obj \ # $(MSWDIR)\listctrl.obj \
# $(MSWDIR)\tabctrl.obj \ # $(MSWDIR)\tabctrl.obj \
@ -344,13 +345,13 @@ $(MSWDIR)\gdiobj.obj: $(MSWDIR)\gdiobj.$(SRCSUFF)
$(MSWDIR)\icon.obj: $(MSWDIR)\icon.$(SRCSUFF) $(MSWDIR)\icon.obj: $(MSWDIR)\icon.$(SRCSUFF)
$(MSWDIR)\imaglist.obj: $(MSWDIR)\imaglist.$(SRCSUFF) # $(MSWDIR)\imaglist.obj: $(MSWDIR)\imaglist.$(SRCSUFF)
$(MSWDIR)\joystick.obj: $(MSWDIR)\joystick.$(SRCSUFF) $(MSWDIR)\joystick.obj: $(MSWDIR)\joystick.$(SRCSUFF)
$(MSWDIR)\listbox.obj: $(MSWDIR)\listbox.$(SRCSUFF) $(MSWDIR)\listbox.obj: $(MSWDIR)\listbox.$(SRCSUFF)
$(MSWDIR)\listctrl.obj: $(MSWDIR)\listctrl.$(SRCSUFF) # $(MSWDIR)\listctrl.obj: $(MSWDIR)\listctrl.$(SRCSUFF)
$(MSWDIR)\main.obj: $(MSWDIR)\main.$(SRCSUFF) $(MSWDIR)\main.obj: $(MSWDIR)\main.$(SRCSUFF)
@ -424,7 +425,7 @@ $(MSWDIR)\thread.obj: $(MSWDIR)\thread.$(SRCSUFF)
$(MSWDIR)\timer.obj: $(MSWDIR)\timer.$(SRCSUFF) $(MSWDIR)\timer.obj: $(MSWDIR)\timer.$(SRCSUFF)
$(MSWDIR)\treectrl.obj: $(MSWDIR)\treectrl.$(SRCSUFF) # $(MSWDIR)\treectrl.obj: $(MSWDIR)\treectrl.$(SRCSUFF)
$(MSWDIR)\utils.obj: $(MSWDIR)\utils.$(SRCSUFF) $(MSWDIR)\utils.obj: $(MSWDIR)\utils.$(SRCSUFF)
@ -499,6 +500,8 @@ $(MSWDIR)\prntbase.obj: $(COMMDIR)\prntbase.$(SRCSUFF)
$(MSWDIR)\resource.obj: $(COMMDIR)\resource.$(SRCSUFF) $(MSWDIR)\resource.obj: $(COMMDIR)\resource.$(SRCSUFF)
$(MSWDIR)\resourc2.obj: $(COMMDIR)\resourc2.$(SRCSUFF)
$(MSWDIR)\tbarbase.obj: $(COMMDIR)\tbarbase.$(SRCSUFF) $(MSWDIR)\tbarbase.obj: $(COMMDIR)\tbarbase.$(SRCSUFF)
$(MSWDIR)\tbarsmpl.obj: $(COMMDIR)\tbarsmpl.$(SRCSUFF) $(MSWDIR)\tbarsmpl.obj: $(COMMDIR)\tbarsmpl.$(SRCSUFF)