If the CodeWarrior compiler basically tries to look like VC+, in terms of
the predefined macros that it uses and such, then that may be what's
getting to you. You might have to adjust Autosense.hpp to sense CodeWarrior
for windows specificially, since otherwise, it might be autosensing for
VC++. If there are differences between CW and VC, for instance what XMLCh
should be defined to, it would explain your problems with the wide char
APIs.
----------------------------------------
Dean Roddey
Software Weenie
IBM Center for Java Technology - Silicon Valley
[EMAIL PROTECTED]
[EMAIL PROTECTED] on 02/04/2000 01:07:08 AM
Please respond to [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
cc:
Subject: Metrowerks Codewarrior for Windows
Hi,
I'm writing a cross-platform Mac/Windows app, and advised my client to use
the
XML format for some data files she needs.
But I'm afraid I'm not particularly experienced with XML, and before
getting Xerces
a few weeks ago, had no experience with using it in a program.
I'm using the Metrowerks CodeWarrior Pro 5 development environment. I've
always been impressed with CodeWarrior on the Mac, and feel much more
comfortable with it on Windows than competing products.
But Xerces doesn't come ready for use with CodeWarrior for Windows. I got
a
project made, and made the right config files and stuff to do that, and
added some
checks for the environment (in this case, __MWERKS__ is defined on a
Windows
platforms; commonly people use that to detect that they're on a Mac but
that's
not what you want to do really) and got it to build.
I had no end of problems with the Win32 transcoding service. What it looks
like
to me is that the ANSI wide char routines that are documented for windows
simply don't work the same in metrowerks as they do in VisualC++. The
result
was that the lengths that the widechar routines would calculate buffers
would
need would always be zero.
I worked around these problems in various ways, in part by just counting
the
characters and in part by calling the Windows routines like
WideCharToMultiByte
and so on.
I'm able to make several of the sample programs work OK, that came with
Xerces
(DOMCount, DOMPrint, etc.). But when I use it in my program, I have no end
of
trouble. I get all kinds of weird crashes. I am initializing the library
in my
application's constructor. I'm trying to use a source debugger to diagnose
my
problems but it's useless - no matter what I do I don't get a stack crawl
or a crash
in a source file.
One thing I'm also doing differently is that I built Xerces as a static
library. I felt
more comfortable doing this for now because I'm not an expert windows
programmer. I may change it to a DLL later.
I'm downloading an update to CodeWarrior right now, maybe it'll fix the
wide char
problems. Also I'm going to try the Xerces 1.1.0 that apparently was just
released.
If I can get a sane CodeWarrior build I expect I can return my changes to
you
folks. I'll have to check with my client.
Mike Crawford
GoingWare - Expert Software Development and Consulting
http://www.goingware.com
[EMAIL PROTECTED]