Ver Mensaje Individual
  #1  
Antiguo 08-10-2016
tarco35 tarco35 is offline
Miembro
 
Registrado: sep 2003
Posts: 210
Reputación: 21
tarco35 Va por buen camino
Error al actualizar PDFcreator

Hola, hasta hace poco el codigo usado para generar un report (qreport) y generar con pdfcreator 1.7.3 el archivo correspondiente funcionaba correctamente, el código es de Roman (moderador):
Código Delphi [-]
 OldPrinterIndex := FormImprimePaciente.PrnPaciente.PrinterSettings.PrinterIndex;
  FormImprimePaciente.PrnPaciente.PrinterSettings.PrinterIndex := PrinterIndex;
  PdfCreator := CreateOLEOBject('PDFCreator.clsPDFCreator');
  try
    PdfCreator.cStart();
    PdfCreator.cOption('UseAutosave') := 1;
    PdfCreator.cOption('UseAutosaveDirectory') := 1;
    PdfCreator.cOption('AutosaveDirectory') := RutaGuardar;
    PdfCreator.cOption('AutosaveFilename') := NombreFichero; // la extensión es opcional
    PdfCreator.cOption('AutosaveFormat') := 0; // PDF format

    FormImprimePaciente.PrnPaciente.ReportTitle := 'BIA_Test: Datos Paciente';
    With FormImprimePaciente Do begin
      If FileExists(ModuloDatos.TablaCentroTrabajoNombreLogo.AsString) then
        QRLogo.Picture.LoadFromFile(ModuloDatos.TablaCentroTrabajoNombreLogo.AsString)
      Else QRLogo.Picture := nil;
      QRLogo.Stretch := ModuloDatos.TablaCentroTrabajoAjusteLogo.AsBoolean;
      QRLabel94.Caption := ModuloDatos.TablaCentroTrabajoNombre1.AsString;
      QRLabel24.Caption := ModuloDatos.TablaCentroTrabajoNombre2.AsString;
      QRLabel95.Caption := ModuloDatos.TablaCentroTrabajoLinea1.AsString;
      QRLabel99.Caption := ModuloDatos.TablaCentroTrabajoLinea2.AsString;
      QRLabel96.Caption := ModuloDatos.TablaCentroTrabajoLinea3.AsString;
      QRLabel2.Caption:=ModuloDatos.TablaPacientesAPELLIDOS.AsString;
      QRLabel4.Caption:=ModuloDatos.TablaPacientesNOMBRE.AsString;
      QRLabel6.Caption:=ModuloDatos.TablaPacientesDIRECCION.AsString;
      QRLabel8.Caption:=ModuloDatos.TablaPacientesPROVINCIA.AsString;
      QRLabel10.Caption:=ModuloDatos.TablaPacientesCIUDAD.AsString;
      QRLabel12.Caption:=ModuloDatos.TablaPacientesPOSTAL.AsString;
      QRLabel14.Caption:=ModuloDatos.TablaPacientesFECHA.AsString;
      QRLabel16.Caption:=ModuloDatos.TablaPacientesTELEFONO.AsString;
      QRLabel17.Caption:=ModuloDatos.TablaPacientesFAX.AsString;
      QRLabel26.Caption:=ModuloDatos.TablaPacientesCORREO.AsString;
    end;

    Screen.Cursor := crHourGlass;
    FormImprimePaciente.PrnPaciente.Prepare;
    FormImprimePaciente.PrnPaciente.Print;
  finally
    // método rudimentario para saber cuando terminó de crearse el archivo
    while not FileExists(RutaGuardar+'\'+NombreFichero+'.pdf') do
      Application.ProcessMessages;
    // Cerramos el monitor
    PdfCreator.cClose;
    PdfCreator := Unassigned;
  end;
  Screen.Cursor := crDefault;
  FormPrincipal.KillTask('PdfCreator.exe');
  FormImprimePaciente.PrnPaciente.PrinterSettings.PrinterIndex := OldPrinterIndex;

Como la versión de PDFcreator es antigua, al actualizar a la 2.3, que ahora mismo es la ultima, me lanza una ventana de error diciendo " Cadena clase no valida", porque habran cambiado los parametros que se pasan como opciones al objeto OLE.
Lo que hacia es generar el documento sin que la ventana de creación apareciera en pantalla y quiero que siga así....
Como identificaria la version del pdfcreator para que no pase esto, o mejor... que parametros son los que necesita ahora??
Gracias.
Responder Con Cita