FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Buenas tardes nuevamente,
Tras varias pruebas y leer en la página de microsoft llego a la conclusión que si lo que quieres es programar el servicio de fax en windows XP, el propio delphi al ir a importar las librerias te especifica la libreria fxscomex.dll, sin embargo si necesitas instalar en un Pc con windows 2000 entonces en el delphi al ir a importar estas librerias no las vas a encontrar porque el win2000 tiene otro enlace y otro modo de funcionamiento y hace referencia a Faxcom.dll.(lo denomina exactamente: Faxcom 1.0 Type Library (Version 1.0) creando en la pestaña activex los siguientes componentes: TFaxTiff TFaxServer TFaxPort TFaxPorts TFaxRoutingMethod TFaxRoutingMethods TFaxStatus TFaxDoc TFaxJobs TFaxJob Al código anterior, en lugar de usar Ifaxdocument se le denomina IFaxDoc y al Ifaxserver si se le denomina igual, quedandome dicho código de la siguiente manera: uses FAXCOMLib_TLB; (debemos añadir en el uses dicha llamada) procedure TForm1.Button1Click(Sender: TObject); var vlserver: IFaxServer; vlDocument : IFaxDoc; Begin vlserver := CoFaxServer.Create; vlDocument := CoFaxDoc.Create; vlserver.Connect(''); vlDocument.filename:='C:\prueba.pdf'; vlDocument.FaxNumber:='123456789'; vlDocument.Send; vlserver.Disconnect; end; Llegado a éste punto consigo que todo me compile correctamente pero... me encuentro con la sorpresa de un error al llegar a la linea CofaxDoc.Create porque dice que no encuentra esta clase registrada. Por más que lo he revisado lo encuentro perfectamente registrado todo, si acudo a la unidad FAXCOMLib_TLB.Pas puedo ver que todo está perfectamente declarado y de hecho compila perfectamente. He registrado la libreria faxcom.dll regsvr32 C:\WINDOWS\system32\faxcom.dll Obteniendo como resultado un mensaje del tipo DllRegisterServer in C:\WINDOWS\system32\faxcom.dll succeeded Comprendo que está correctamente pero desconozco si necesito registrar alguna más y por ello la clase ifaxdoc me falla porque del mismo modo la clase ifaxserver no me produce ningún tipo de fallo. ¿alguna idea respecto a éste nuevo problema? Quizá tal como explique anteriormente se puede intentar que un WIN2000 pueda acceder a la libreria de fxscomex.dll y forzar su instalacion, pero no he obtenido ningun resultado positivo al intentar enviar un fax en un PC con win2000, que es lo que me interesa, siempre se produce el error: "connection to fax server failed" Desconozco cual seria el siguiente paso a seguir para poder "engañar" también he copiado dicha libreria en C:\windows\System32\ y la he registrado de igual modo que la de faxcom.dll pero en ningún caso consigo enviar. Por ello opte por probar por la propia opción que trae el windows 2000. Por si hay alguien con el mismo problema y quiere leer sus instrucciones correspondientes en microsoft aqui dejo el enlace: http://msdn.microsoft.com/en-us/library/ms692281.aspx Si alguien pudiera darme alguna idea, ejemplo, estaria muy agradecida pues llevo días trabajando con esto sin lograr ningún resultado positivo. Muchas gracias Nuppy |
#2
|
|||
|
|||
buenas tardes de nuevo,
Quisiera confirmar el que código que expuso mgomez2 para windows XP funciona correctamente pero no en windows 2000, yo al menos no he logrado "engañar" al windows para que me deje hacerlo funcionar correctamente. Si alguien posee algun ejemplo, código o alguna idea para poder hacerlo funcionar en 2000 seria de gran ayuda. Muchas gracias Nuppy |
#3
|
|||
|
|||
Hola Nuppy, buscando otra cosa he encontrado esto, echale un vistazo, a ver si te sirve.
Te lo transcribo aqui: Código Delphi [-]function SendFax(filename : String; number : String) : Integer; var Srv : FAXCOMLib.FaxServer; var Doc : FAXCOMLib.FaxDoc; begin Srv := FaxServerClass.Create(); Srv.Connect(nil); srv.Retries := 5; Doc := FAXCOMLib.FaxDoc(Srv.CreateDocument(filename)); Doc.FaxNumber := trim(number); SendFax := Doc.Send(); srv.Disconnect; end; |
#4
|
|||
|
|||
Hola Mgomez,
Agradezco tu código, pero ésto ya lo he probado, yo también busqué información en hilos al respecto, pero el problema que tengo es que al menos la libreria que yo poseo de faxcom.dll cuando la he importado al delphi, tal como explique anteriormente en este hilo del foro, no me es util porque por ejemplo, he aqui el código de mi unidad integro: (Tengo windows 2000 profesional) unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; private function SendFax(filename, number: String): Integer; { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses FAXCOMLib_TLB; {$R *.DFM} function TForm1.SendFax(filename : String; number : String) : Integer; var Srv : FAXCOMLib.FaxServer; var Doc : FAXCOMLib.FaxDoc; begin Srv := FaxServerClass.Create(); Srv.Connect(nil); srv.Retries := 5; Doc := FAXCOMLib.FaxDoc(Srv.CreateDocument(filename)); Doc.FaxNumber := trim(number); SendFax := Doc.Send(); srv.Disconnect; showmessage('Ha finalizado el proceso de envío'); end; procedure TForm1.Button1Click(Sender: TObject); begin SendFax('C:\prueba.pdf','123456789'); end; end. Cuando compilo me da error en var Srv : FAXCOMLib.FaxServer; y cuando quito faxcomlib de delante el fallo me da en FaxServerClass, de hecho entro en la unidad importada unit FAXCOMLib_TLB; que tengo en la carpeta de "imports" dentro de delphi y esta unidad no contiene ninguna declaración de faxserverclass... deduzco que si hay varias personas que han utilizado este código existe otra libreria o bien me falta la declaración algún otro uses que desconozco, Espero poder haber explicado mejor mi error para poder asi conocer cual es la solución, Un saludo Nuppy |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Tecla de control+Z y Escape para poder enviar SMS a través de un Modem | vejerf | Varios | 3 | 25-04-2008 17:09:54 |
Intercambiar XML´s a través de una pág. ASP | bataola | Internet | 0 | 13-09-2006 16:30:01 |
Enviar una estructura de datos a traves de Socket en Delphi | ygkw | API de Windows | 3 | 29-06-2006 21:53:48 |
conectar a través de ssh | barrauda | Linux | 2 | 29-05-2006 12:57:44 |
Enviar email a través de Outlook Express | kambiz | Internet | 9 | 20-10-2004 22:58:12 |
|