FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Hola,
Observando con más detalle, veo que me he equivocado. Veamos, no hay que quitar la línea que comento sino sólo su parámetro. Si no se llama al método cStart, el PdfCreator no hace nada de nada. Aquí un ejemplo de código que me ha funcionado:
Observa que no es necesario guardar las opciones anteriores y restablecerlas después ya que no uso el método cSaveOptions. // Saludos |
#2
|
||||
|
||||
Gracias Román. No me quito el sombrero porque no llebo.
Simple, sencillo, eficaz y eficiente. Al final lo hemos conseguido, tal como lo deseamos. No tengo ni que poner una sóla coma a tu código. Sólo faltaría "almibararlo". Después de estar varios días lidiando con el código, probando cosas "a palos de ciego", visitar mil webs con casi siempre el mismo ejemplo Cute/Paste, preguntar en este foro, atender a todos los que me habéis ayudado, al final lo hemos conseguido. He de confesar que pensé en dejarlo. Gracias sobre todo a Román, ElKurgan, Eldioni, Caral y a todos aquellos que habéis podido aportar para solucionar este tema, que entre otras cosas aún no estaba expuesto en este inestimable foro de ayuda y compartición del conocimiento, ni tampoco en la página de Trucomania. Hasta la próxima, que seguro será otro reto quizá más complicado e inóspito. Lo que echo de menos es un lugar donde encontrar documentación sobre los métodos del OleObject creado con nombre PDFCreator. Cerramos hilo.
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí. Última edición por Cabanyaler fecha: 08-03-2012 a las 09:32:21. |
#3
|
||||
|
||||
Me queda una cosa por depurar, que al no controlar los métodos de que dispone el OLEObject "PDFCreator", no se controlar.
Al parecer, al crear el primer informe en formato pdf con el anterior código visto en las anteriores respuestas, se crea el objeto PDFCReator y se lanza el proceso llamado del mismo nombre (el cual veo en los procesos desde el administrador de tareas del sistema operativo). La primera creación del pdf se realiza perfectamente, pero veo que la instrucción ... ... no elimina o mata el proceso, por lo que al intentar crear otro informe en pdf, no funciona. Si salgo de la aplicación (con lo que se mata el proceso PdfCReator), o bien mato al proceso manualmente sin salir de la aplicación, siempre funciona la creación de informes en pdf. He probado con la instrucción: Que aunque compila, al ejecutarla dá error. ¿Alguien me puede decir como matar al proceso del PDFCreator desde código? Pienso que debe ser un método del objeto del tipo PDFCReator.CKill, o PDFCReator.CQuit, pero no acierto a matar ese proceso sin cerrar el programa. Gracias.
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí. |
#4
|
||||
|
||||
Ya lo tengo y ahora si que está todo completo.
Después de la instrucción de la función: Se debe hacer la llamada a la función con esta sintaxis:
Y a continuación escribo la función:
Esta función KillTask (me encanta el nombre ), sirve para la eliminación de cualquier proceso que se esté ejecutando en el sistema, si sabes que exe lo lanza.
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí. |
#5
|
||||
|
||||
En mi opinión, esto no es algo bueno para hacer; digamos que no es "educado". La impresora virtual puede estar siendo usada por otros procesos y tú simple y llanamente la matas junto con todo lo que estuviera haciendo. A decir verdad, es lo mismo que estaba haciendo yo .
No sé bien porqué no te funciona imprimir un documento después de otro pues no observé errores. Sin embargo, he puesto en el FTP un ejemplo algo más currado, como dicen por allá en España. Se trata del componente TPDFCreator que tiene un sólo método (CreateFile) para generar el archivo y un sólo evento (OnPrint) en donde pones el código con el que produzcas la impresión. De esta manera, puedes reusarlo para diversas impresiones. Junto con el componente, viene una demo en la que podrás ver, además, como poner a tu documento propiedades como autor, título y tema, así como protegerlo con contraseña. El archivo incluye un paquete (ClubDelphi.dpk) listo para instalar el componente. Pd: Se me olvidaba comentar que el componente se fija si la impresora ya está trabajando y, en tal caso, no intenta cerrarla. // Saludos Última edición por roman fecha: 10-03-2012 a las 02:31:30. |
#6
|
||||
|
||||
Magnifico Román.
He utilizado tu componente y funciona perfecto, simplificando aún más el código. Nota: Cuando realizamos la asignación de la impresora como impresora determinada de Windows con la instrucción: Debemos del mismo modo asignarla al Quikreport (si es el caso), con la siguiente instrucción
Espero esto sirva a tanta gente como neuronas he quemado estos últimos días.
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Al pulsar Enter en un boton funciona como Tabulador | weke | OOP | 8 | 12-09-2011 19:04:01 |
Pulsar un Botón de una página web. | imossa | Internet | 4 | 04-05-2007 10:21:01 |
Capturar teclado o pulsar botón mientas se recorre un bucle | Duc | Varios | 2 | 31-10-2006 12:14:33 |
Evento que se ejecuta al Pulsar el boton de Minimizar de una Forma | AGAG4 | Varios | 2 | 09-10-2004 17:31:38 |
Pulsar botón y que cambien los números | ciscu | Varios | 2 | 10-06-2004 20:51:03 |
|