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:
parent
3eb78d7ebb
commit
3b1de9c2ee
@ -2,7 +2,7 @@
|
||||
wxWindows 2.0 for Windows Change Log
|
||||
------------------------------------
|
||||
|
||||
Alpha 18, December 23nd 1998
|
||||
Alpha 18, December 29th 1998
|
||||
----------------------------
|
||||
|
||||
- Win16 support working again (VC++ 1.5)
|
||||
@ -11,6 +11,9 @@ Alpha 18, December 23nd 1998
|
||||
a little work on wxNotebook is still needed.
|
||||
Under 16-bit Windows, get assertion when you click
|
||||
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
|
||||
----------------------------
|
||||
|
@ -19,6 +19,7 @@ wx200hlp.zip WinHelp documentation
|
||||
wx200pdf.zip Acrobat PDF documentation
|
||||
wx200htm.zip HTML documentation
|
||||
wx200vc.zip MS VC++ 5.0 project files
|
||||
wx200cw.zip Metrowerks CodeWarrior project files
|
||||
|
||||
Unarchive the required files plus any optional documentation
|
||||
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
|
||||
'make -f makefile.b32'.
|
||||
|
||||
Note: the wxWindows library compiles in 16-bit mode (using makefile.bcc),
|
||||
but the samples do not link because of the error:
|
||||
|
||||
Segment TEXT_RESOURCE exceeds 64K.
|
||||
|
||||
There may or may not be anything we can do about this.
|
||||
Note: the wxWindows library and (some) samples compile in 16-bit mode
|
||||
using makefile.bcc, but at present the wxWindows resource system is switched
|
||||
off in this mode. See issues.txt for details.
|
||||
|
||||
Watcom C++ 10.6 compilation
|
||||
---------------------------
|
||||
@ -96,8 +94,11 @@ Currently under construction, but so far we have:
|
||||
Metrowerks CodeWarrior compilation
|
||||
----------------------------------
|
||||
|
||||
Support is currently being added for this compiler by Stefan
|
||||
Csomor.
|
||||
1. Downloaded and unzip wx200cw.zip.
|
||||
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
|
||||
-------------------------------------
|
||||
|
@ -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
|
||||
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
|
||||
|
||||
|
@ -55,8 +55,16 @@
|
||||
|
||||
/// generic assert macro
|
||||
#define wxASSERT(cond) if ( !(cond) ) wxOnAssert(__FILE__, __LINE__)
|
||||
/// assert with additional message explaining it's cause
|
||||
|
||||
#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
|
||||
#define wxASSERT_MSG(x, m) if ( !(x) ) wxOnAssert(__FILE__, __LINE__, m)
|
||||
#endif
|
||||
|
||||
#else
|
||||
// nothing to do in release modes (hopefully at this moment there are
|
||||
// no more bugs ;-)
|
||||
@ -66,8 +74,15 @@
|
||||
|
||||
/// special form of assert: always triggers it (in debug mode)
|
||||
#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
|
||||
#define wxFAIL_MSG(msg) wxASSERT_MSG(wxFalse, msg)
|
||||
#endif
|
||||
//@}
|
||||
|
||||
// NB: these macros work also in release mode!
|
||||
|
@ -88,6 +88,12 @@
|
||||
#define wxUSE_WX_RESOURCES 1
|
||||
// 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
|
||||
// Use WinSock if 1
|
||||
#define wxUSE_DOC_VIEW_ARCHITECTURE 1
|
||||
|
1577
src/common/resourc2.cpp
Normal file
1577
src/common/resourc2.cpp
Normal file
File diff suppressed because it is too large
Load Diff
@ -93,10 +93,10 @@ bool wxResourceParseIncludeFile(const wxString& f, wxResourceTable *table = (wxR
|
||||
|
||||
wxResourceTable *wxDefaultResourceTable = (wxResourceTable *) NULL;
|
||||
|
||||
static char *wxResourceBuffer = (char *) NULL;
|
||||
static long wxResourceBufferSize = 0;
|
||||
static long wxResourceBufferCount = 0;
|
||||
static int wxResourceStringPtr = 0;
|
||||
char *wxResourceBuffer = (char *) NULL;
|
||||
long wxResourceBufferSize = 0;
|
||||
long wxResourceBufferCount = 0;
|
||||
int wxResourceStringPtr = 0;
|
||||
|
||||
void wxInitializeResourceSystem()
|
||||
{
|
||||
@ -1423,6 +1423,9 @@ wxFont wxResourceInterpretFontSpec(wxExpr *expr)
|
||||
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
|
||||
*/
|
||||
@ -2895,4 +2898,7 @@ wxControl *wxWindow::CreateItem(const wxItemResource *resource, const wxItemReso
|
||||
#pragma warning(default:4706) // assignment within conditional expression
|
||||
#endif // VC++
|
||||
|
||||
#endif
|
||||
// BC++/Win16
|
||||
|
||||
#endif // wxUSE_WX_RESOURCES
|
||||
|
@ -4,22 +4,7 @@
|
||||
!include $(WXDIR)\src\makebcc.env
|
||||
|
||||
WXLIB = $(WXDIR)\lib\wx.lib
|
||||
LIBS=$(WXLIB) mathwl cwl import
|
||||
|
||||
!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)
|
||||
LIBS=$(WXLIB) mathwl cwl import ole2w16
|
||||
|
||||
all: $(TARGET).exe
|
||||
|
||||
|
@ -557,7 +557,7 @@ int wxEntry(WXHINSTANCE hInstance,
|
||||
int nCmdShow,
|
||||
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 {
|
||||
#endif
|
||||
|
||||
@ -627,7 +627,7 @@ int wxEntry(WXHINSTANCE hInstance,
|
||||
wxApp::CleanUp();
|
||||
|
||||
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 ) {
|
||||
/*
|
||||
|
@ -115,6 +115,7 @@ COMMONOBJS = \
|
||||
$(MSWDIR)\postscrp.obj \
|
||||
$(MSWDIR)\prntbase.obj \
|
||||
$(MSWDIR)\resource.obj \
|
||||
$(MSWDIR)\resourc2.obj \
|
||||
$(MSWDIR)\tbarbase.obj \
|
||||
$(MSWDIR)\tbarsmpl.obj \
|
||||
$(MSWDIR)\textfile.obj \
|
||||
@ -188,7 +189,6 @@ MSWOBJS = \
|
||||
$(MSWDIR)\gdiobj.obj \
|
||||
$(MSWDIR)\helpwin.obj \
|
||||
$(MSWDIR)\icon.obj \
|
||||
$(MSWDIR)\imaglist.obj \
|
||||
$(MSWDIR)\iniconf.obj \
|
||||
$(MSWDIR)\joystick.obj \
|
||||
$(MSWDIR)\listbox.obj \
|
||||
@ -236,6 +236,7 @@ MSWOBJS = \
|
||||
# $(MSWDIR)\uuid.obj
|
||||
# $(MSWDIR)\droptgt.obj \
|
||||
# $(MSWDIR)\dropsrc.obj \
|
||||
# $(MSWDIR)\imaglist.obj \
|
||||
# $(MSWDIR)\notebook.obj \
|
||||
# $(MSWDIR)\listctrl.obj \
|
||||
# $(MSWDIR)\tabctrl.obj \
|
||||
@ -344,13 +345,13 @@ $(MSWDIR)\gdiobj.obj: $(MSWDIR)\gdiobj.$(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)\listbox.obj: $(MSWDIR)\listbox.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\listctrl.obj: $(MSWDIR)\listctrl.$(SRCSUFF)
|
||||
# $(MSWDIR)\listctrl.obj: $(MSWDIR)\listctrl.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\main.obj: $(MSWDIR)\main.$(SRCSUFF)
|
||||
|
||||
@ -424,7 +425,7 @@ $(MSWDIR)\thread.obj: $(MSWDIR)\thread.$(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)
|
||||
|
||||
@ -499,6 +500,8 @@ $(MSWDIR)\prntbase.obj: $(COMMDIR)\prntbase.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\resource.obj: $(COMMDIR)\resource.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\resourc2.obj: $(COMMDIR)\resourc2.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\tbarbase.obj: $(COMMDIR)\tbarbase.$(SRCSUFF)
|
||||
|
||||
$(MSWDIR)\tbarsmpl.obj: $(COMMDIR)\tbarsmpl.$(SRCSUFF)
|
||||
|
Loading…
Reference in New Issue
Block a user