簡體   English   中英

從PowerBuilder調用C#(.NET)方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM