【发布时间】:2011-05-26 22:34:30
【问题描述】:
我正在尝试通过 RightFax COM API 库发送传真:
RFCOMAPILib.FaxServer server = new RFCOMAPILib.FaxServer();
server.ServerName = "xxx";
server.Protocol = CommunicationProtocolType.cpTCPIP;
server.UseNTAuthentication = BoolType.True;
// Error happens here
server.OpenServer();
RFCOMAPILib.Fax fax = (RFCOMAPILib.Fax)server.get_CreateObject(RFCOMAPILib.CreateObjectType.coFax);
fax.ToName = "Batman";
fax.ToFaxNumber = "23434484";
fax.FromFaxNumber = "78678676";
fax.FromName = "Robin";
fax.Send();
我已经注册了DLL文件rfcomapi.dll:
C:\Program Files\RightFAX> RegSvr32 rfcomapi.dll
不幸的是,在运行此代码时,我收到以下错误;
未处理的异常:system.AccessViolationException:试图读取或写入受保护的内存。这通常表明其他内存已损坏。
我使用的是 9.4.0.0 版的 RightFax。
我该如何解决这个问题?
【问题讨论】:
-
您在哪一行代码中遇到了该错误?这不是您的代码中的内容。托管代码不会抛出(甚至允许)这样的错误,无论如何也不会没有额外的工作。顺便说一句,刚刚注意到这行代码:fax.FromFaxNumber =fax.ToFaxNumber;这看起来可能会导致 API 错误。
-
谢谢保罗。我会澄清我的问题。我在该行之前收到错误,我在调用 OpenServer() 或删除该行时收到它@server.get_CreateObject(--)
-
您是否有其他支持的 dll(RFWin32.dll、Rfi32rpc.ndr 和 Rfi32smb.ndr)以及 rfcomapi.dll?
-
@VinayC - 感谢您的 cmets,但是我愿意,我能够注册 dll 没问题。而且我的电脑中确实有所有这些 dll,即使我试图将它们复制到我的小 exe 的 bin 中,仍然无法正常工作。
标签: c# .net fax rightfax captaris