dBfast - Ayuda con Caretrun

 
Vista:

Ayuda con Caretrun

Publicado por Ramon (133 intervenciones) el 29/03/2005 16:47:38
Hola Compañeros,

Tengo un pequeño problema con el CaretRun, lo explico:

Al ejecutar desde cualquier aplicación de dBfast el CARETRUN.EXE para imprimir o previsualizar un informe todo aparece correcto en pantalla o impresora, el problema es al regresar de CARETRUN a la Aplicación, hay un tiempo de unos 20 segundos que parece que todo quede bloqueado, al cabo de esos segundos todo vuelve a su sitio y ya se puede continuar sin problema pero claro a los clientes no les gusta que pase cada vez que imprimen los dicho anteriormente.
Si alguno tiene alguna idea de porque me pasa eso, os lo agradeceré mucho.
Adjunto el PRG que utilizo en la siguiente Nota ->
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con Caretrun - NOTA 1 / 2

Publicado por Ramon (133 intervenciones) el 29/03/2005 16:50:04
SET PROCEDURE TO IMP_CON
ON ERROR DO SYSERROR
SET PROCEDURE TO \DBFAST20\LIBRARY
SET PROCEDURE TO \COCHESOF\LIBAUTO

DECLARE PFUNCTION GetModuleHandle RETURNING INTEGER IN DLL kernel
LOAD IMAGE &DirImagen.monitor.bmp INTO megane
SET FONT 10 TO "CENTURY SCHOOLBOOK",12,"BAV"
Ventana("IMP_CON","Previsualización e Impresión de Formularios",6,50,1028)
@ 1,2 SAY megane
CENTER("Conectando con el Servidor",2,15,47,10)
SET SAY VIDEO TO 124
CENTER("Espere unos instantes",3,15,47,10)
DrawBox(0,1,5,11,1)
DrawBox(1,15,4,45,3)

#DEFINE csViewClose 'View.Close'
#DEFINE csCaretClose 'CARET.Close'
#DEFINE csReportClose 'Report.Close'

IF GetModuleHandle('CARETRUN.EXE') = 0
WRUN CARETRUN.EXE
ENDIF

TALK TO CARETRUN ABOUT SYSTEM

nSeconds = SECONDS()
DO WHILE (SECONDS() - nSeconds) < 3
CHKEVENT()
IF CONTACT()
EXIT
ENDIF
ENDDO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con Caretrun - NOTA 2 / 2

Publicado por Ramon (133 intervenciones) el 29/03/2005 16:51:00
IF .NOT. CONTACT()
BEEP
WARNING("ADVERTENCIA","No se puede establecer comunicación con el Servidor!",1)
RETURN
ENDIF
DDETIME(31000)

EXECUTE '[APP.MAXIMIZE()]'
EXECUTE '[File.Open(CAS\IMP_CON.RET)]'
EXECUTE "[Set.Title('Listado Contable de vehículos vendidos.')]"
EXECUTE '[WINDOW.MAXIMIZE]'
FOR i = 1 TO 10000
NEXT

EXECUTE '[File.Preview]'

CARETEvents = SPACE(20)
IF AUTODATA('CARETEVENTS')
DO WHILE CARETEvents <> csReportClose .AND. ;
CARETEvents <> csViewClose .AND. ;
CARETEvents <> csCARETClose
CHKEVENT()
ENDDO
IF CARETEvents <> csCARETClose
EXECUTE '[File.Exit()]'
ENDIF
STOPDATA('CARETEVENTS')
ELSE
BEEP
WARNING(csCARETErr,csCARETNoStatInfo,387)
ENDIF

CLOSE WINDOW 'IMP_CON'
TERMINATE
SET CONSOLE ON
RETURN
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar