請問裡面VB CODE 要如何用delphi 重新改些過 |
尚未結案
|
degr
一般會員 發表:22 回覆:36 積分:21 註冊:2002-03-25 發送簡訊給我 |
請問下面這段VB CODE 要如何用delphi 重新改些過
謝謝大大.........
Private Sub AssembleandDeliverResponseMessage(FlowIDDataFile As String, XMLSkeletalResponseMessageDataFile As String) Dim XMLDOM As New DOMDocument
Dim XMLNODE As IXMLDOMNode
Dim PIPAdapterManager As PIPAdapterSDK.CPIPAdapterManager
Dim FlowID As String
Dim SkeletalMessage As String
Dim ServiceContent As String
XMLDOM.async = False
XMLDOM.loadXML RetrieveDataFromXML(FlowIDDataFile)
FlowID = XMLDOM.documentElement.Text
SkeletalMessage = RetrieveDataFromXML(XMLSkeletalResponseMessageDataFile)
XMLDOM.Load FilePath & txtxml.Text
Set XMLNODE = XMLDOM.selectSingleNode("RosettaNetMessage/ServiceContent")
XMLDOM.loadXML SkeletalMessage
XMLDOM.documentElement.replaceChild XMLNODE, XMLDOM.selectSingleNode("RosettaNetMessage/ServiceContent")
Set PIPAdapterManager = CreateObject("PIPAdapterSDK.CPIPAdapterManager")
Call PIPAdapterManager.DeliverResponseMessage(FlowID, XMLDOM.xml)
Set PIPAdapterManager = Nothing
Set XMLDOM = Nothing
End Sub
Private Function RetrieveDataFromXML(FileName As String) As String Dim DOM As New DOMDocument
DOM.async = False
DOM.Load FilePath & FileName
RetrieveDataFromXML = DOM.xml
Set DOM = Nothing
End Function
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
這問題不是與這篇相似??
『請問如何將vb這段的寫法轉到delphi 上呢』http://delphi.ktop.com.tw/topic.php?TOPIC_ID=32667 timhuang 會員所回答的都已能解決您的問題 如果可以的話,盡量不要張貼整段的VB code
,最好能張貼您寫出來的Delphi code,不知如何以delphi 表示的就暫用vb 來表示 例:
var
Dim XMLDOM As New DOMDocument
Dim XMLNODE As IXMLDOMNode
Dim PIPAdapterManager As PIPAdapterSDK.CPIPAdapterManager SkeletalMessage : String
ServiceContent : String 這樣子大家才知道您那段在轉換過程有問題
若再張貼整段vb code 等別人幫你改好,恕刪
|
degr
一般會員 發表:22 回覆:36 積分:21 註冊:2002-03-25 發送簡訊給我 |
|
degr
一般會員 發表:22 回覆:36 積分:21 註冊:2002-03-25 發送簡訊給我 |
真不好意思 我又厚臉皮來請問問題了
可以問嗎 就是這行
AssembleandDeliverResponseMessage(FlowIDDataFile As String, XMLSkeletalResponseMessageDataFile As String)
今天如果我都用delphi來呼叫 宣告 為string 應該沒有問題
但是今天這 DLL檔是由別支程式跟delphi 來共同使用
那麼我應該宣告為那一種型別呢
由別支程式可能是vc 或 vb 寫的所以我該宣告何種型態呢
原本這dll檔就是vb寫的,只是我想換成delphi來改 ,裡面的細節
我比較好控制他我是要做成自動化的..這支dll都還是手動的 還有就是我宣告一個
var XMLDOM : Variant; 我要如何去釋放 XMLDOM 呢
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
AssembleandDeliverResponseMessage(FlowIDDataFile As String, XMLSkeletalResponseMessageDataFile As String)
看不太出來問題在那裡, 這樣宣告很正常, 就算要給其他程式呼叫也都沒有問題, 不知你要問的是什麼, 可否描述的詳細一點!!
引言: 還有就是我宣告一個 var XMLDOM : Variant; 我要如何去釋放 XMLDOM 呢要釋放的話, 就直接使用 XMLDOM := Unassigned; 就可以了! |
degr
一般會員 發表:22 回覆:36 積分:21 註冊:2002-03-25 發送簡訊給我 |
大大 ;
這行是vb的fun AssembleandDeliverResponseMessage(FlowIDDataFile As String, XMLSkeletalResponseMessageDataFile As String) 如果我用delphi 寫成
AssembleandDeliverResponseMessage(FlowIDDataFile: pchar, XMLSkeletalResponseMessageDataFile :pchar); 這樣合理嗎
我宣告用這樣的型態,是怕說主執行檔是vb或VC 寫的,他在call function 是否會因為字串型態不符,而造成問題
|
degr
一般會員 發表:22 回覆:36 積分:21 註冊:2002-03-25 發送簡訊給我 |
請問一下長官們 我上述那些有寫成dll了
可是會發生幾各參數無法傳遞至dll只有第一各參數有值,其他都市空白,不是null,,,這....是怎麼回事 主程式
procedure SaveDataToXML(Data : Pchar; FileName: Pchar);stdcall;external 'InitiatorAdapter.dll';
begin
SaveDataToXML(pchar(edit1.text),pchar(edit2.text));
end;
dll ;
procedure getvaule(a1:pchar;a2:pchar);
begin
memo1.lines.add(a1);
memo1.lines.add(a2);
showmodal;
end; procedure SaveDataToXML(Data : Pchar; FileName : Pchar);exports;
begin
Form1:=Tform1.create(application);
Form1.getvaule(data,FileName);
form1.free;
end; 還有就是當主程式去呼叫時,當我關閉dll form時,我的主程式就會隨之close了。
我主程式並沒有下任何close 呀.......怎會這樣子...
有長官知道嗎.........
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |