在Powerbuilder中使用.Net Dll

时间:2017-11-02 16:31:22

标签: c# .net powerbuilder

我在VisualStudio中开发了一个.NET DLL,它应该通过Outlook发送电子邮件。

我们的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。

还有其他办法吗?

2 个答案:

答案 0 :(得分:2)

您需要将.NET DLL公开为COM库。然后PowerBuilder可以使用它。您需要在程序运行的系统中注册DLL或使用Registery-less COM。

布鲁斯·阿姆斯特朗在这里写了一篇文章解释:http://pbdj.sys-con.com/node/397016

答案 1 :(得分:0)

为什么不直接使用OLE与Outlook交互?移动部件越少越好。这是一个PowerBuilder代码示例:

http://www.topwizprogramming.com/freecode_outlook.html