Ver Mensaje Individual
  #1  
Antiguo 27-12-2013
[Waldo] Waldo is offline
Miembro Premium
 
Registrado: sep 2003
Posts: 101
Reputación: 21
Waldo Va por buen camino
Problemas con shellexecute

Buen día y felices fiestas.

Tengo un problema con la impresión de un documento pdf, curiosamente funciona en una pc y en la otra no. con el siguiente codigo.
Código Delphi [-]
  FOR i:=1 TO copias DO
            BEGIN
               dd:=G.Empresa_CaminoImportarCFDI+'\'+FOLIOELECTRONICO.Prefix+edit_folio.Text+'.pdf';
               codigoerror:=shellExecute(Self.Handle,'print',PChar(G.Empresa_CaminoImportarCFDI+'\'+FOLIOELECTRONIC  O.Prefix+edit_folio.Text+'.pdf'),NIL,NIL,0);
               CASE codigoerror OF
                  0:ShowMessage('The operating system is out of memory or resources. ');
                  2:showmessage('file not found');
                  3:showmessage('path not found');
                  5:showmessage('access denied');
                  8:showmessage('not enough memory');
                  10:showmessage('Wrong Windows version');
                  11:showmessage('The .EXE file is invalid (non-Win32 .EXE or error in .EXE image)');
                  12:showmessage('Application was designed for a different operating system');
                  13:showmessage('Application was designed for MS-DOS 4.0');
                  15:showmessage('Attempt to load a real-mode program');
                  16:showmessage('Attempt to load a second instance of an application with non-readonly data segments.');
                  19:showmessage('Attempt to load a compressed application file.');
                  20:showmessage('Dynamic-link library (DLL) file failure.');
                  26:showmessage('sharing violation');
                  27:showmessage('filename association incomplete or invalid');
                  28:showmessage('DDE request timed out');
                  29:showmessage('DDE transaction failed');
                  30:showmessage('DDE busy');
                  31:showmessage('no application associated with the given filename extension');
                  32:showmessage('dynamic-link library not found');
               END;

               //PrintPDF(dd);
            END;

Por lo que ya descarte que este asociado con un programa lector de pdf, asi como también e descubierto que solo imprime una vez, y una vez que se creo el proceso, ya no se puede ejecutar ni siquiera acrobat reader por separado sin antes terminar el proceso. Ojala me ayuden creo que debo matar ese proceso cada vez que deseo ejecutar la impresión con el shellexecute. de antemano gracias.
Responder Con Cita