Dear Takeaki!
Unfortunately, XalanC has only the VC++ build for Win32.
But if you can create a Borland C++ building environment for XalanC and
submit it to the community, your help will be highly appreciated.

Thanks
Dmitry Hayes
XSLT Development


----- Forwarded by Dmitry Hayes/Toronto/IBM on 21/07/2003 01:59 PM -----
                                                                                
                                            
                      Takeaki Nishihara                                         
                                            
                      <[EMAIL PROTECTED]        To:       
<[email protected]>                                     
                      h.co.jp>                 cc:                              
                                            
                                               Subject:  Float Invalid 
Operation when calling VC compiled DLL that use      
                      19/07/2003 11:16          Xalan from BCB built EXE        
                                            
                      AM                                                        
                                            
                                                                                
                                            
                                                                                
                                            





 I have re-compiled ICU/Xerces2.2/Xalan1.5 by VC6 SP5 on Windows 2000 SP3
machine
and compiled my own DLL that uses Xalan and its correspondents at same
environment.
The dll works fine if it is called from the program compiled by VC, but
it throws "Float Invalid Operation"(0x00000090) if it is called from the
application
compiled by Borland C++ Builder 6.

 The actual point where the exception occured was at
DoubleSupport::getNaN(). The rest of stack dump will be quoted at the end
of the mail.

 Since I have created my own extended function, I have commented out
everything
within the extended function and tried it again. Though the result was
completely the
same.

 It would be greatful for your help.


 tak


xalanc_1_5::DoubleSupport::getNaN() line 172
xalanc_1_5::doConvert(const unsigned short * 0x03cbcb88) line 694 + 5 bytes
xalanc_1_5::DoubleSupport::toDouble(const unsigned short * 0x03cbcb88) line
714 + 9 bytes
xalanc_1_5::DoubleSupport::toDouble(const xalanc_1_5::XalanDOMString &
{...}) line 369 + 18 bytes
xalanc_1_5::XResultTreeFrag::num() line 178 + 26 bytes
xalanc_1_5::compareNodeSets(const xalanc_1_5::XObject & {...}, const
xalanc_1_5::XObject & {...}, xalanc_1_5::XObject::eObjectType
eTypeResultTreeFrag, const xalanc_1_5::equalsDOMString & {...}, const
xalanc_1_5::DoubleSupport::equalFunction & {...},
xalanc_1_5::XPathExecutionContext & {...}) line 761 + 13 bytes
xalanc_1_5::equalNodeSet(const xalanc_1_5::XObject & {...}, const
xalanc_1_5::XObject & {...}, xalanc_1_5::XObject::eObjectType
eTypeResultTreeFrag, xalanc_1_5::XPathExecutionContext & {...}) line 821 +
29 bytes
xalanc_1_5::XObject::equals(const xalanc_1_5::XObject & {...},
xalanc_1_5::XPathExecutionContext & {...}) line 939 + 26 bytes
xalanc_1_5::XPath::equals(xalanc_1_5::XalanNode * 0x03a72a08, int 29,
xalanc_1_5::XPathExecutionContext & {...}) line 1746 + 65 bytes
xalanc_1_5::XPath::executeMore(xalanc_1_5::XalanNode * 0x03a72a08, int 18,
xalanc_1_5::XPathExecutionContext & {...}) line 319 + 20 bytes
xalanc_1_5::XPath::predicate(xalanc_1_5::XalanNode * 0x03a72a08, int 16,
xalanc_1_5::XPathExecutionContext & {...}) line 870 + 27 bytes
xalanc_1_5::XPath::predicates(xalanc_1_5::XPathExecutionContext & {...},
int 16, xalanc_1_5::MutableNodeRefList & {...}) line 4759 + 24 bytes
xalanc_1_5::XPath::step(xalanc_1_5::XPathExecutionContext & {...},
xalanc_1_5::XalanNode * 0x03a72880, int 16, xalanc_1_5::MutableNodeRefList
& {...}) line 2911 + 25 bytes
xalanc_1_5::XPath::step(xalanc_1_5::XPathExecutionContext & {...},
xalanc_1_5::XalanNode * 0x03a6d088, int 10, xalanc_1_5::MutableNodeRefList
& {...}) line 2930
xalanc_1_5::XPath::locationPath(xalanc_1_5::XalanNode * 0x03a6d088, int 2,
xalanc_1_5::XPathExecutionContext & {...}, xalanc_1_5::MutableNodeRefList &
{...}) line 1112
xalanc_1_5::XPath::executeMore(xalanc_1_5::XalanNode * 0x03a6d088, int 2,
xalanc_1_5::XPathExecutionContext & {...}, xalanc_1_5::MutableNodeRefList &
{...}) line 1343
xalanc_1_5::XPath::executeMore(xalanc_1_5::XalanNode * 0x03a6d088, int 0,
xalanc_1_5::XPathExecutionContext & {...}, xalanc_1_5::MutableNodeRefList &
{...}) line 1276 + 31 bytes
xalanc_1_5::XPath::execute(const xalanc_1_5::PrefixResolver & {...},
xalanc_1_5::XPathExecutionContext & {...}, xalanc_1_5::MutableNodeRefList &
{...}) line 775 + 43 bytes
xalanc_1_5::ElemForEach::selectAndSortChildren(xalanc_1_5::StylesheetExecutionContext
 & {...}, const xalanc_1_5::ElemTemplateElement * 0x00000000,
xalanc_1_5::NodeSorter * 0x00000000, int 12) line 430 + 74 bytes
xalanc_1_5::ElemApplyTemplates::selectAndSortChildren(xalanc_1_5::StylesheetExecutionContext
 & {...}, const xalanc_1_5::ElemTemplateElement * 0x00000000,
xalanc_1_5::NodeSorter * 0x00000000, int 12) line 243
xalanc_1_5::ElemForEach::transformSelectedChildren(xalanc_1_5::StylesheetExecutionContext
 & {...}, const xalanc_1_5::ElemTemplateElement * 0x00000000) line 246 + 56
bytes
xalanc_1_5::ElemApplyTemplates::execute(xalanc_1_5::StylesheetExecutionContext
 & {...}) line 176
xalanc_1_5::ElemTemplateElement::executeChildren(xalanc_1_5::StylesheetExecutionContext
 & {...}) line 293 + 20 bytes
xalanc_1_5::ElemTemplateElement::executeChildren(xalanc_1_5::StylesheetExecutionContext
 & {...}, xalanc_1_5::XalanNode * 0x03a6d088) line 313 + 20 bytes
xalanc_1_5::StylesheetExecutionContextDefault::createXResultTreeFrag(const
xalanc_1_5::ElemTemplateElement & {...}, xalanc_1_5::XalanNode *
0x03a6d088) line 1063 + 24 bytes
xalanc_1_5::ElemVariable::getValue(xalanc_1_5::StylesheetExecutionContext &
{...}, xalanc_1_5::XalanNode * 0x03a6d088) line 292 + 28 bytes
xalanc_1_5::ElemVariable::execute(xalanc_1_5::StylesheetExecutionContext &
{...}) line 259 + 37 bytes
xalanc_1_5::ElemTemplateElement::executeChildren(xalanc_1_5::StylesheetExecutionContext
 & {...}) line 286 + 20 bytes
xalanc_1_5::ElemTemplate::executeChildren(xalanc_1_5::StylesheetExecutionContext
 & {...}) line 223
xalanc_1_5::ElemTemplateElement::executeChildren(xalanc_1_5::StylesheetExecutionContext
 & {...}, xalanc_1_5::XalanNode * 0x03a6d088) line 319 + 20 bytes
xalanc_1_5::ElemTemplate::executeChildren(xalanc_1_5::StylesheetExecutionContext
 & {...}, xalanc_1_5::XalanNode * 0x03a6d088) line 233
xalanc_1_5::ElemTemplateElement::transformChild(xalanc_1_5::StylesheetExecutionContext
 & {...}, const xalanc_1_5::ElemTemplateElement & {...}, const
xalanc_1_5::ElemTemplateElement * 0x0462e7d8, xalanc_1_5::XalanNode *
0x03a6d088, xalanc_1_5::XalanNode::NodeType ELEMENT_NODE) line 731 + 24
bytes
xalanc_1_5::ElemApplyTemplates::transformChild(xalanc_1_5::StylesheetExecutionContext
 & {...}, const xalanc_1_5::ElemTemplateElement & {...}, const
xalanc_1_5::ElemTemplateElement * 0x00000000, xalanc_1_5::XalanNode *
0x03a6d088) line 206
xalanc_1_5::ElemForEach::transformSelectedChildren(xalanc_1_5::StylesheetExecutionContext
 & {...}, const xalanc_1_5::ElemTemplateElement * 0x00000000, const
xalanc_1_5::NodeRefListBase & {...}, unsigned int 1) line 532 + 32 bytes
xalanc_1_5::ElemForEach::selectAndSortChildren(xalanc_1_5::StylesheetExecutionContext
 & {...}, const xalanc_1_5::ElemTemplateElement * 0x00000000,
xalanc_1_5::NodeSorter * 0x00000000, int 3) line 470
xalanc_1_5::ElemApplyTemplates::selectAndSortChildren(xalanc_1_5::StylesheetExecutionContext
 & {...}, const xalanc_1_5::ElemTemplateElement * 0x00000000,
xalanc_1_5::NodeSorter * 0x00000000, int 3) line 253
xalanc_1_5::ElemForEach::transformSelectedChildren(xalanc_1_5::StylesheetExecutionContext
 & {...}, const xalanc_1_5::ElemTemplateElement * 0x00000000) line 246 + 56
bytes
xalanc_1_5::ElemApplyTemplates::execute(xalanc_1_5::StylesheetExecutionContext
 & {...}) line 176
xalanc_1_5::ElemTemplateElement::executeChildren(xalanc_1_5::StylesheetExecutionContext
 & {...}) line 293 + 20 bytes
xalanc_1_5::ElemTemplate::executeChildren(xalanc_1_5::StylesheetExecutionContext
 & {...}) line 223
xalanc_1_5::ElemTemplate::execute(xalanc_1_5::StylesheetExecutionContext &
{...}) line 212 + 20 bytes
xalanc_1_5::StylesheetRoot::process(xalanc_1_5::XalanNode * 0x03abf8a0,
xalanc_1_5::XSLTResultTarget & {...},
xalanc_1_5::StylesheetExecutionContext & {...}) line 258 + 20 bytes
xalanc_1_5::XSLTEngineImpl::process(const xalanc_1_5::XSLTInputSource &
{...}, xalanc_1_5::XSLTResultTarget & {...},
xalanc_1_5::StylesheetExecutionContext & {...}) line 440
xalanc_1_5::XalanTransformer::doTransform(const
xalanc_1_5::XalanParsedSource & {...}, const
xalanc_1_5::XalanCompiledStylesheet * 0x03b1efd0, const
xalanc_1_5::XSLTInputSource * 0x00000000, const
xalanc_1_5::XSLTResultTarget & {...}) line 1216
xalanc_1_5::XalanTransformer::transform(const xalanc_1_5::XalanParsedSource
& {...}, const xalanc_1_5::XalanCompiledStylesheet * 0x03b1efd0, const
xalanc_1_5::XSLTResultTarget & {...}) line 218


Reply via email to