【问题标题】:Getting a 'System.AccessViolationException' exception in C# using RightFax使用 RightFax 在 C# 中获取“System.AccessViolationException”异常
【发布时间】: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


【解决方案1】:

您的代码本身是完美的。我可以用我的 9.4 RightFax 毫无问题地运行它。您可能需要检查您的授权,以确保您的帐户在服务器中已获得完全授权。

【讨论】:

  • 谢谢伙计。我想知道我获得的凭据是否与服务器中实际配置的凭据一致。我向管理员发送了一封电子邮件,要求对此进行澄清。干杯。
【解决方案2】:

问题是服务器名称不正确,因为我们无法在网络中解析该名称。我ping了服务器,什么也没有,但是我得到了它的IP地址,它工作正常!

始终使用 RightFax ping 服务器!您将收到的错误消息描述性不强!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-14
    • 1970-01-01
    • 2014-01-17
    • 2021-10-24
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多