[英]Calling a C# (.NET) Method from PowerBuilder
我正在尋找有關從PowerBuilder調用C#模塊(在.NET(2.1)框架中編寫)的方向。 這是C#.NET信息:該函數用於連接到COM PORT設備並獲取設備狀態。
NameSpace: NETS
Class: NETS
Method: REQUESTCARDSTATUS()
DLL: NETS.dll
在Powerbuilder中使用我的dll作為OLE對象。 我正在使用PowerBuilder 11.5版。 我有一個簡單的窗口,上面帶有命令按鈕。 在此窗口中,我的代碼如下所示:
OLEObject ole_3
ole_3 = CREATE OLEObject
//連接到C#類
MessageBox("Value = ", +String(li_rc))
IF li_rc <> 0 THEN
DESTROY ole_3
END IF
li_sum = ole_3.RequestCardStatus();
調用此函數時出現錯誤錯誤R0035:調用外部函數時出錯。
嘗試使用c#應用程序調用該函數時,該函數運行正常。 我不知道是什么導致了powerbuilder中的問題。 從過去三天開始嘗試,但沒有運氣。
您的代碼顯示您尚未調用ConnectToNewObject函數來啟動Ole服務器應用程序。 創建ole_3之后,在調用RequestCardStatus函數之前,應按以下方式調用此函數:
ole_3.ConnectToNewObject(classname)
其中classname是服務器的Progid或Classid
必須使C#dll對COM可見。
連接的語法(使用您的示例)將是:ole_3.ConnectToNewObject('NETS.NETS')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.