2017-11-02 32 views
-1

私はOutlook経由で電子メールを送信するVisualStudioで.NET DLLを開発しました。PowerBuilderで.Net Dllを使用する

私たちのERPシステムの開発者はこのDLLを統合し、送信者と受信者、件名などのいくつかのパラメータを渡したいと考えています。

彼は次のコードを使用しています:

OLEObject obj_OES 
long RetValue 


obj_OES = create OLEObject 
RetValue = obj_OES.ConnectToNewObject("OutlookEMailSender.OutlookEMailSender") 

Messagebox ("ConnectToNewObject" , RetValue) 

RetValue = obj_OES.object.SendMail("receiver","Test 1","account","sender","htmlbody","","C:\\data.pdf") 

Messagebox ("SendMail" , RetValue) 

当社の開発者は、上記のコードは登録のDLLで実行されることを言います。

他の方法がありますか?

+1

ここで問題とは何ですか? –

+1

開発者が意味することは、このコードは登録する必要があるCOMライブラリのみで動作することです。適切なCOM相互運用性属性を使用して、タイプとインターフェイスを公開する必要があります([ここに表示])(https://www.red-gate.com/simple-talk/dotnet/visual-studio/build-and-deploy-a- –

+0

BTW PowerBuilder [*は.NETで動作します](http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc01261.1252/doc) /html/hfr1233333899910.html)、COM Interopを必要としません。 v 12.5.2には、PowerBuilder ClassicとPowerBuilder .NETの2つのバージョンがあります。 –

答えて

1

.NET DLLをCOMライブラリとして公開する必要があります。 PowerBuilderはそれを消費することができます。プログラムが実行されるシステムにDLLを登録するか、または無登録COMを使用する必要があります。

ブルース・アームストロングは、ここでそれを説明する記事を書いた:http://pbdj.sys-con.com/node/397016

関連する問題