Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-10-2008
mgomez2 mgomez2 is offline
Registrado
 
Registrado: abr 2007
Posts: 9
Poder: 0
mgomez2 Va por buen camino
No debes instalar la libreria faxcomex.dll, sino, en Delphi, "Import Type Library", dentro de "Project", y despues busca "Microsoft Fax Service Extended COM type library".

A partir de aqui, en "Activex" te apareceran unos iconos sobre el fax, que sinceramente no he usado, pero mi ejemplo anterior te deberia funcionar.

Evidentemente, debes haber instalado antes el servicio de fax de windows....

Por otro lado, por MP Nuppy me ha pasado la solución a mi problema, y la expongo aqui por si a alguien mas le ocurre.

La idea es instalar otro programa, distinto del Adobe, para que cuando imprimas no te saque el documento en pantalla, asi que hay que descargarse gsview (está en Google) e instalarlo junto con la ultima version de Ghostscript (de la misma pagina), y entonces modificar el registro de windows para que asocie la impresion del archivo .pdf al gsprint.

Busca en el registro:
HKey_CLASSES_ROOT->AcroExch.Document.7->shell->Printto->Command
la clave por defecto pondrá algo del Adobe, hazte una copia de seguridad, porsiaca y pon lo siguiente:
"C:\Archivos de programa\Ghostgum\gsview\gsprint.exe" "%1" -printer ""%2"" "%3" "%4"

Lo que haces con eso es que cuando se quiera mandar a imprimir un archivo .pdf llame al gsprint y no al acrobat reader.

De esta forma se logra que se puedan mandar varios fax automatizados (con el adobe se cuelga) y no se abra el reader. La unica contra que tiene es que aparece una ventada de cmd por un lapso muy breve (menos de 1s) y se cierra.

Gracias Nuppy !!!
Responder Con Cita
  #2  
Antiguo 14-10-2008
User_Baja_2 User_Baja_2 is offline
Miembro
 
Registrado: may 2003
Posts: 126
Poder: 24
User_Baja_2 Va por buen camino
gracias, pero...

He estado buscando en: en Delphi, "Import Type Library", dentro de "Project", y despues busca "Microsoft Fax Service Extended COM type library".
pero no tengo la opción "Microsoft Fax Service Extended com type Library" me gustaría saber si me puedes facilitar a qué libreria va a asociada, lo pone dentro de "import type library".

He instalado la opción de envio de fax de microsoft, pero sigo sin ver ésta opción, los unicos componentes que consigo ver en la pestaña "Activex" son los que he conseguido tras importar "Faxcom.dll" y de éste modo si he conseguido verlos pero no son correspondientes al código que aqui pusiste,

¿Pudieras facilitarme la respuesta de a qué ocx, dll... o demás librería puede corresponder para buscarla y poder importarla? ¿qué otra cosa puede faltarme?

Muchas gracias!

Nuppy
Responder Con Cita
  #3  
Antiguo 14-10-2008
mgomez2 mgomez2 is offline
Registrado
 
Registrado: abr 2007
Posts: 9
Poder: 0
mgomez2 Va por buen camino
Pues no se me ocurre que puede fallarte, esta noche voy a instalar delphi en un portatil que tengo en casa, a ver si me pasa lo mismo que a ti, y a ver si encuentro que ocurre.

En "Import Type Library" pone exactamente lo que te he puesto "Microsoft Fax Extended...etc"
Responder Con Cita
  #4  
Antiguo 14-10-2008
User_Baja_2 User_Baja_2 is offline
Miembro
 
Registrado: may 2003
Posts: 126
Poder: 24
User_Baja_2 Va por buen camino
Buenas tardes mgomez,

Para mayor información puedo decirte que cuando entras en la ventana de "Import Type Library", dentro de "Project", podemos ver el listado de dll y ocx del Pc que podemos importar a nuestro delphi para poder utilizarlo. Quisiera preguntarte si en donde a ti te pone: "Microsoft Fax Extended..." que libreria te viene en el path.


Por otro lado te comentaré que yo encontré la libreria "fxscomex.dll" y la he importado, pudiendo asi importar a "C:\Archivos de programa\Borland\Delphi5\Imports" los ficheros:

FAXCOMEXLib_TLB.pas
FAXCOMEXLib_TLB.dcu
FAXCOMEXLib_TLB.dcr

Con los cuales tu código me deja compilarlo sin ningun problema. Pero al ejecutar me sale el siguiente error:

"Project Project1.exe raised exception class EOLESysError with message 'Clase no registrada'. Process stopped. Use Step or run to continue"

Este error lo encuentro cuando al ejecutar pasa por la linea:

vlserver := CoFaxServer.Create;

Creo que falta algo por instalar aunque si es cierto que sigo sin poder localizar la opción "Microsoft Fax Extended...". La impresora virtual de fax la tengo instalada correctamente.

Si al instalarlo tu en el portatil vieras algun error similar, agradeceria tu información. Muchas gracias

Un saludo

Nuppy
Responder Con Cita
  #5  
Antiguo 14-10-2008
mgomez2 mgomez2 is offline
Registrado
 
Registrado: abr 2007
Posts: 9
Poder: 0
mgomez2 Va por buen camino
He mirado la ventana de Import Type Library, y efectivamente, es el fxscomex.dll, por el error que te da, está claro que hay que instalar algo para que registre la clase.... pero no se que es. A ver si al instalarlo en el portatil descubro algo !!
Responder Con Cita
  #6  
Antiguo 14-10-2008
User_Baja_2 User_Baja_2 is offline
Miembro
 
Registrado: may 2003
Posts: 126
Poder: 24
User_Baja_2 Va por buen camino
Tengo más información,


Como no me aparecian los componentes en la pestaña activex, lo que hice fue de los ficheros importados en delphi

FAXCOMEXLib_TLB.pas
FAXCOMEXLib_TLB.dcu
FAXCOMEXLib_TLB.dcr


generar un package yendo a "components" y despues "install components" , en la pestaña "into new package" donde con el *.Pas he generado un package y luego lo he instalado, de éste modo he conseguido los componentes en el "activex" asi todo me ha seguido dando un error de "la clase no registrada" asi que he cogido la libreria "fxscomex.dll" y la he registrado en windows con un programa que encontré llamado: "AjpdSoft Registro de OCX y DLL" a partir de aqui he conseguido ejecutar, evitando el problema de "clase no registrada" ahora el problema continua al llegar a la linea:

vlserver.Connect('FAX');

del código:

uses FAXCOMEXLib_TLB;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
vlserver: IFaxServer;
vlDocument : IFaxDocument;
begin
vlserver := CoFaxServer.Create;
vlDocument := CoFaxDocument.Create;
vlserver.Connect('FAX');
vlDocument.Body := 'D:\prueba.pdf';
vlDocument.DocumentName := 'Prueba';
vlDocument.Priority:=fptHIGH;
vlDocument.Recipients.Add('937111111','Nombre');
vlDocument.AttachFaxToReceipt := True;
vlDocument.CoverPageType := fcptNONE;
vlDocument.ScheduleType:=fstNOW;
vlDocument.ReceiptType:=frtNONE;
vlDocument.Submit('FAX');
vlserver.Disconnect;
end;

Del cual entiendo que la palabra "FAX" es el nombre de la impresora que necesitamos utilizar para poder enviar.. pero al parecer no es asi, empiezo a dudar del significado de su contenido pues me da error de conexión.

Ha sido he querido contar como lo he resuelto por si alguien le pasa algo similar.

He de aclarar que mi impresora virtual de "FAX" el servicio de microsoft lo hace funcionar perfectamente, asi como si yo cogo un archivo PDF y al darle enviar selecciono esta impresora y le indico el número de tfno éste se envia correctamente, asi que descarto que el modem esté incorrecto.

¿alguna idea por este nuevo punto? ¿quizá me he equivocado con algo de lo anterior?

Muchas gracias a todos

Nuppy
Responder Con Cita
  #7  
Antiguo 14-10-2008
mgomez2 mgomez2 is offline
Registrado
 
Registrado: abr 2007
Posts: 9
Poder: 0
mgomez2 Va por buen camino
Bueno, en mi portatil tenia una instalacion de Windows de hace precisamente 1 semana, asi que estaba "limpia". He ido a Delphi, "Import Type Library" y no me aparecia el Microsoft Fax COM Extended...., he agregado el servicio de fax de Windows, y entonces si me aparecia ... nuppy, seguro que lo tenias instalado bien?, bueno, de todas maneras veo que lo has resuelto de otra manera.

Respecto a Connect('FAX') .... mil disculpas.... 'FAX' es el nombre del servidor REMOTO de fax (es que yo uso uno...), asi que si usas el local, pon Connect('') y luego Submit(''), puedes mirar en el manual de microsoft:

He modificado el codigo inicial, en el primer mensaje, por si alguien lo copia, que no le pase lo mismo.

Espero que con esto te funcione bien.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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 ---baja--- 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


La franja horaria es GMT +2. Ahora son las 00:33:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi