Page 1 of 1

Error al abrir archivo vrd con funcion EReport()

PostPosted: Sun Nov 05, 2023 4:20 pm
by leandro
Hola buenos días para todos

al integrar la función EReport() a la aplicación e intentar abrir cualquier archivo vrd, nos sale el siguiente error:

Code: Select all  Expand view

Application
===========
   Path and name: C:\DLYMA\hymlyma.exe (32 bits)
   Size: 8,942,592 bytes
   Compiler version: xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914)
   FiveWin  version: FWH 23.10
   C compiler version: Borland/Embarcadero C++ 7.6 (32-bit)
   Windows 8 64 Bits, version: 6.2, Build 9200

   Time from start: 0 hours 1 mins 37 secs
   Error occurred at: 05.11.2023, 11:16:44
   Error description: Error DBFCDX/1023  Se requiere uso exclusivo

Stack Calls
===========
   Called from:  => __DBZAP( 0 )
   Called from: .\source\function\ERTOOLS.PRG => CLEARUNDOREDO( 1667 )
   Called from: .\source\function\ERFILE.PRG => OPENFILE( 106 )
   Called from: .\source\function\EREPORT.PRG => (b)EREPORT( 167 )
   Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 1111 )
   Called from: .\source\function\EREPORT.PRG => EREPORT( 167 )
   Called from: z:\prg\R32_nota.prg => (b)FNOTAS( 220 )
   Called from: .\source\classes\URLLINK.PRG => TURLLINK:LBUTTONDOWN( 180 )
   Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1848 )
   Called from: .\source\classes\URLLINK.PRG => TURLLINK:HANDLEEVENT( 168 )
   Called from: .\source\classes\WINDOW.PRG => _FWH( 3700 )
   Called from:  => WINRUN( 0 )
   Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 1125 )
   Called from: z:\prg\R32_menu.prg => VTNAPRINCIPAL( 752 )
   Called from: z:\prg\R32_menu.prg => MAIN( 140 )
 


Image

Re: Error al abrir archivo vrd con funcion EReport()

PostPosted: Mon Nov 06, 2023 6:19 am
by Antonio Linares
Estimado Leandro,

En esas líneas se vacian los DBFs que guardan el undo y el redo:

Code: Select all  Expand view
  SELECT 0
   USE ( oGenVar:cUndoFileName + ".dbf" ) ALIAS TMPUNDO
   ZAP

   USE ( oGenVar:cRedoFileName + ".dbf" ) ALIAS TMPREDO
   ZAP


Por el error que dá parece que no ha conseguido abrirlos en modo exclusivo. Tienes esos DBFs abiertos desde algún otro lugar ?

Re: Error al abrir archivo vrd con funcion EReport()

PostPosted: Tue Nov 07, 2023 9:07 pm
by leandro
Antonio buenas tardes, gracias por responder

No nada, ni siquiera se en donde se deben registrar esas dbf.

No será, que no las puede crear de manera automática o se debería hacer el llamado a un método antes de intentar abrir el archivo. Lo raro es que desde Easy Report como tal, abre sin problemas cualquier reporte que intentemos abrir.

Sabes cual es el nombre como tal de las dbfs, para intentar copiarlas desde la carpeta de Easy Report, para comprobar si ese es el problema?, ya que tambien pudimos notar que no muestra los iconos de la barra de botones.

Re: Error al abrir archivo vrd con funcion EReport()

PostPosted: Wed Nov 08, 2023 4:51 pm
by Antonio Linares
Estimado Leandro,

Para poder usar la función EReport() desde tu aplicación tienes que incluir el fichero FWH\samples\vrd.rc en el RC de tu aplicación, por ejemplo:
test.rc
Code: Select all  Expand view
ico  ICON "./../ICONS/fivewin.ico"

#ifndef __64__
  1 24 "WinXP/WindowsXP.Manifest"
#else
  1 24 "WinXP/WindowsXP.Manifest64"
#endif

#include "vrd.rc"


Este ejemplo funciona correctamente:
Code: Select all  Expand view
#include "fivewin.ch"

REQUEST DBFCDX

function Main()

   EReport()

return nil

Por favor pruébalo y dime si te siguen apareciendo esos errores y en tal caso como proceder para reproducirlos, gracias

Re: Error al abrir archivo vrd con funcion EReport()

PostPosted: Wed Nov 08, 2023 8:46 pm
by leandro
Antonio gracias por responder...

El tema es que nosotros usamos archivos .RES creados desde PELLES C al abrir el archivo, viene codificado en modo maquina.
En que otra parte puedo incluir el archivo .rc?

Image

Re: Error al abrir archivo vrd con funcion EReport()

PostPosted: Thu Nov 09, 2023 3:57 am
by Antonio Linares
En tal caso, tienes que incluir los elementos de vrd.rc en tu .RES uno por uno