Rob Flynn wrote:
> I recently downloaded TclXML v2.5 and have attempted to compile it with VS
> 6.0.
>
> I was able to compile expatlib without errror, however, trying to compile
> TclXml results in the following error:
> Linking...
> Creating library Release/tclxml.lib and object Release/tclxml.exp
> tclxml.obj : error LNK2001: unresolved external symbol _tclxmlStubs
> Release/tclxml.dll : fatal error LNK1120: 1 unresolved externals
> Error executing link.exe.
Sounds like a problem with linking against the stubs library...
but I don't much about Windoze... (thank heavens!)
> I eventually managed to force both TclXML.dll and TclExpat.dll to be
> generated. Upon trying to use the code I found that I was only able to
> parse documents once per parser. I began resetting the parser after each
> parse attempt which resolved the situation.
You're supposed to reset the parser before parsing another
document. Either that or destroy the old parser and create
a new, fresh one.
> Later, however, I ran into a situation where the parser (i don't recall if
> it was in tclxml or tclexpat) seemed to cause a violation of memory. I'm it
> tried to return a NULL pointer when a non-NULL was expected. I managed to
> comment out a few lines and force some returns to be specific values and was
> able to get the library to parse properly. I, however, feel that this
> really isn't an optimum solution.
'::xml::parserclass info default' will tell you what is the
default parser. That may help in tracking down the cause
of the problem.
Passing a NULL pointer sounds like a bug to me, and at the
very least the offending code should check that and deal with
it without crashing. Please submit a bug report on SF,
including sample script, XML document and the patch that
you applied.
Cheers,
Steve Ball
--
Steve Ball | XSLT Standard Library | Training & Seminars
Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas
http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development
Ste...@zv... +---------------------------+---------------------
Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099
|