2010-12-17 11 views
4

Ich versuche, Faxe über RightFax COM API-Bibliothek zu senden:Getting a 'System.AccessViolationException' Ausnahme in C# RightFax mit

C:\Program Files\RightFAX> RegSvr32 rfcomapi.dll  

:

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(); 

ich die DLL-Datei rfcomapi.dll registriert haben Leider bekomme ich beim Ausführen dieses Codes den folgenden Fehler;

Nicht behandelte Ausnahme: system.AccessViolationException: Es wurde versucht, geschützten Speicher zu lesen oder zu schreiben. Dies ist oft ein Hinweis darauf, dass anderer Speicher beschädigt ist.

Ich verwende Version 9.4.0.0 von RightFax.

Wie behebe ich dieses Problem?

+0

Bei welcher Zeile des Codes erhalten Sie diesen Fehler? Es ist nicht etwas in deinem Code. Verwalteter Code wirft Fehler (oder erlaubt es überhaupt) nicht, und das ohne zusätzliche Arbeit. Übrigens, gerade diese Codezeile ist aufgefallen: fax.FromFaxNumber = fax.ToFaxNumber; Das sieht so aus, als könnte es möglicherweise einen API-Fehler verursachen. –

+0

Danke Paul. Ich werde meine Frage klären. Ich bekomme den Fehler vor dieser Zeile, ich bekomme es beim Aufruf von OpenServer() oder wenn ich diese Zeile entferne bekomme ich es @ server.get_CreateObject (-) – Intrigue

+0

haben Sie andere unterstützende dlls (RFWin32.dll, Rfi32rpc .ndr und Rfi32smb.ndr) zusammen mit rfcomapi.dll? – VinayC

Antwort

1

Das Problem war der Servername war falsch, da wir diesen Namen in unserem Netzwerk nicht auflösen konnten. Ich pinge den Server und ich habe nichts, aber ich habe die IP-Adresse und es hat gut funktioniert!

Immer ping den Server mit RightFax! Die Fehlermeldungen, die Sie erhalten, sind nicht sehr aussagekräftig!

1

Ihr Code selbst ist perfekt. Ich kann es mit meinem 9.4 RightFax ohne Probleme laufen. Möglicherweise möchten Sie mit Ihrer Autorisierung prüfen, ob Ihr Konto auf dem Server voll autorisiert ist.

+0

Danke Kumpel. Ich habe mich schon eine Weile gefragt, ob die Zugangsdaten, die ich erhalten habe, konsistent sind mit dem, was tatsächlich auf dem Server konfiguriert ist. Ich habe eine E-Mail an den Administrator geschickt, in der ich um eine Klarstellung gebeten habe. Prost. – Intrigue