一個讀xml檔案的函式,在exe中能正常執行.
把這一功能COPY到一dll檔案中,用別的程式呼叫會死在那里.
除錯發現問題在陳述句3和5之里
1 xDocument:=TXMLDocument.Create(nil);
2 xDocument.FileName:=a3xmlFileName;
3 xDocument.Active:=true;
4 messagedlg('abc',mtwarning, [mbyes], 0);//隨意彈出一個對話框,再關閉這個對話框程式就沒問題
5 rootNode:=xDocument.DocumentElement;//如果把把第4行注釋掉這里就有問題
6 nodelist:=rootNode.ChildNodes;
誰知道是什么原因.
uj5u.com熱心網友回復:
大膽猜一下:對話框能干嘛?在這兒唯一能想到的就是--延時。我想可能是XML加載要一段時間吧!uj5u.com熱心網友回復:
用sleep試過,也不行.xml檔案很小的,就五行.
如果把這一函式放在一個exe檔案里就完全沒有問題.
uj5u.com熱心網友回復:
xDocument 請問樓主你這個變數如何定義! 不要定義成TXMLDocument 而是定義為:IXMLDocumentuj5u.com熱心網友回復:
可以除錯DLL呀uj5u.com熱心網友回復:
注入別的行程即可除錯uj5u.com熱心網友回復:
這個很簡單! 不能用TXMLDocument,需要用IXMLDocument用TXMLDocument.Create(nil);就肯定出錯!
定義為IXMLDocument就可以了
uj5u.com熱心網友回復:
出啥例外??uj5u.com熱心網友回復:
會不會是地址指標的問題?樓主可以檢查一下,我曾經就犯過這樣的錯誤。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/123422.html
標籤:VCL組件開發及應用
