Ver Mensaje Individual
  #19  
Antiguo 16-10-2008
User_Baja_2 User_Baja_2 is offline
Miembro
 
Registrado: may 2003
Posts: 126
Reputación: 22
User_Baja_2 Va por buen camino
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
Responder Con Cita