error interno FWH

elvira
Posts: 462
Joined: Fri Jun 29, 2012 12:49 pm

error interno FWH

Post by elvira »

Hola amigos,

Me sucede este error interno en FWH:

Code: Select all

 Error description: Error BASE/1005  Message not found: NIL:_OICON
   Args:
     [   1] = U   

Stack Calls
===========
   Called from:  => __ERRRT_SBASE( 0 )
   Called from: ../../../tobject.prg => NIL:ERROR( 0 )
   Called from: ../../../tobject.prg => (b)HBOBJECT( 0 )
   Called from: ../../../tobject.prg => NIL:MSGNOTFOUND( 0 )
   Called from: ../../../tobject.prg => NIL:_OICON( 0 )
   Called from: source\rpreview.prg => (b)TPREVIEW_ACTIVATE( 167 )
   Called from: .\source\classes\WINDOW.PRG => (b)TWINDOW( 636 )
   Called from: .\source\classes\WINDOW.PRG => TWINDOW:LVALID( 0 )
   Called from: .\source\classes\WINDOW.PRG => (b)TWINDOW( 326 )
   Called from: .\source\classes\WINDOW.PRG => TWINDOW:END( 0 )
   Called from: .\source\classes\WINDOW.PRG => TWINDOW:SYSCOMMAND( 2373 )
   Called from:  => TWINDOW:HANDLEEVENT( 0 )
   Called from: .\source\classes\WINDOW.PRG => _FWH( 3154 )
   Called from:  => SYSREFRESH( 0 )
   Called from: .\source\function\MSGRUN.PRG => STOPUNTIL( 60 )
   Called from: source\rpreview.prg => TPREVIEW:ACTIVATE( 173 )
   Called from: source\rpreview.prg => RPREVIEW( 1701 )
   Called from: source\report.prg => (b)TREPORT_NEW( 187 )
   Called from: source\report.prg => TREPORT:ACTIVATE( 882 )


¿Qué puede ser?.

Gracias.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: error interno FWH

Post by Antonio Linares »

Elvira,

Puedes mostrarnos el código PRG que estás ejecutando ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
elvira
Posts: 462
Joined: Fri Jun 29, 2012 12:49 pm

Re: error interno FWH

Post by elvira »

Antonio,

claro, gustosamente:

Code: Select all

     DEFINE FONT oFont1 NAME "ARIAL" SIZE 0,-10
     DEFINE FONT oFont2 NAME "ARIAL" SIZE 0,-10 BOLD



     SELECT ("ARTICULO")
     DbGoTop()


     REPORT oReport TITLE  OemToAnsi(" Listado del ALMACEN general ")  ;
          FONT oFont1, oFont2 ;
          HEADER Space(10)+cComercial, Space(10)+"Fecha: "+dtoc(date()) ;
          FOOTER OemtoAnsi("P gina: ")+str(oReport:nPage,3) CENTERED ;
          PREVIEW CAPTION OemToAnsi("Listado del ALMACEN general")

     oReport:nTitleUpLine := 1     // Grosor Cabeceza Columnas
     oReport:nTitleDnLine := 1



     COLUMN TITLE OemToAnsi("C¢digo")         DATA ARTICULO->CODIGO

     COLUMN TITLE "Artículo"                  DATA LEFT( ARTICULO->NOMBRE, 30 )

     COLUMN TITLE "Stock"                     ;
            DATA ARTICULO->EXSISTENCI        ;
            RIGHT                           ;
            PICTURE PictDecimales(7)

     COLUMN TITLE "Precio de Coste"  ;
            DATA  ARTICULO->PRECIOCOST ;
            RIGHT              ;
            PICTURE PictDecimales(8)

     COLUMN TITLE "Valor"  ;
            DATA  (ARTICULO->PRECIOCOST * ARTICULO->EXSISTENCI) ;
            TOTAL              ;
            RIGHT              ;
            PICTURE PictDecimales(11)


     END REPORT



     ACTIVATE REPORT oReport ;
         ON STARTPAGE BmpListados( oReport, tLogo )

     oFont1:End()
     oFont2:End()
 
User avatar
Bayron
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: error interno FWH

Post by Bayron »

Hola Elvira,

A mi me pareciera como que tLogo no está siendo definido...

Podrías verificar eso???
=====>

Bayron Landaverry
(215)2226600 Philadelphia,PA, USA
+(502)46727275 Guatemala
MayaBuilders@gMail.com

FWH12.04||Harbour 3.2.0 (18754)||BCC6.5||UEstudio 10.10||
Windows 7 Ultimate

FiveWin, One line of code and it's done...
elvira
Posts: 462
Joined: Fri Jun 29, 2012 12:49 pm

Re: error interno FWH

Post by elvira »

Hola,

Sí está definido antes. No puse las variables locales, pero sí que está.

Y el error no se refiere a variable no definida. Alguna vez aparece esporádiamente el error, si bien normalmente el listado funciona OK.

Es algo de la clase que se me escapa.

Muchas Gracias.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: error interno FWH

Post by Antonio Linares »

Elvira,

Tu aplicación crea una ventana principal ? Es necesario que exista
regards, saludos

Antonio Linares
www.fivetechsoft.com
elvira
Posts: 462
Joined: Fri Jun 29, 2012 12:49 pm

Re: error interno FWH

Post by elvira »

Sí, efectivamente.

El código funciona el 98% de las veces.

A veces se produce el error señalado. ¿Qué puede suceder por favor Master?.

Muchas gracias.
User avatar
Bayron
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: error interno FWH

Post by Bayron »

Yo he estado experimentando pérdida de recursos al usar las versiones más recientes de Harbour o xHarbour... Podría ser este el caso tuyo...???

Yo tuve que estancarme a usar xHarbour 1.2.1 Rev 9388 para evitar perderlos...

Acaso usas este Bitmap desde Recursos???? Que version de (x)Harbour usas???
=====>

Bayron Landaverry
(215)2226600 Philadelphia,PA, USA
+(502)46727275 Guatemala
MayaBuilders@gMail.com

FWH12.04||Harbour 3.2.0 (18754)||BCC6.5||UEstudio 10.10||
Windows 7 Ultimate

FiveWin, One line of code and it's done...
User avatar
fgondi
Posts: 636
Joined: Fri Oct 07, 2005 6:58 am
Location: Palencia, España
Contact:

Re: error interno FWH

Post by fgondi »

Es cierto?
ha mas gente le ha pasado y lo ha podido solucionar pasando a versiones anteriores de xHarbour?

Por cierto,
Yo si cargo bitmaps desde recursos y uso la última versión de xharbour distribuida con fwh
Un saludo
Fernando González Diez
ALSIS GHE Sistemas Informáticos
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: error interno FWH

Post by Antonio Linares »

No creo que tenga nada que ver con Harbour ó xHarbour, por favor centremonos en el error indicado y para pruebas de xHarbour iniciemos otra conversación, gracias :-)

En la clase TPreview se encuentra este código:

Code: Select all

METHOD Activate() CLASS TPreview

   ACTIVATE WINDOW ::oWnd MAXIMIZED ;
      ON RESIZE    ::PaintMeta()                  ;
      ON UP        ::VScroll( GO_UP )             ;
      ON DOWN      ::VScroll( GO_DOWN )           ;
      ON PAGEUP    ::VScroll( GO_UP, GO_PAGE)     ;
      ON PAGEDOWN  ::VScroll( GO_DOWN, GO_PAGE)   ;
      ON LEFT      ::HScroll( GO_LEFT )           ;
      ON RIGHT     ::HScroll( GO_RIGHT )          ;
      ON PAGELEFT  ::HScroll( GO_LEFT, GO_PAGE )  ;
      ON PAGERIGHT ::HScroll( GO_RIGHT, GO_PAGE ) ;
      VALID        ( ::oWnd:oIcon := nil       ,;
                     ::oFont:End()             ,;
                     ::oMeta1:End()            ,;
                     ::oMeta2:End()            ,;
                     ::oDevice:End()           ,;
                     ::oHand:End()             ,;
                     ::oWnd := nil             ,;
                     If( Empty( ::oImageList ),, (::oImageList:End(), ::oImageList := nil ) ),;
                     ::lExit := .t.            ,;
                     .t. )
En el VALID se intenta acceder al dato oIcon de ::oWnd. Si por alguna causa ::oWnd fuese nil, se genera ese error.

Una solución rápida sería cambiar esto en el código anterior:
If( ::oWnd != nil, oWnd:oIcon := nil, nil )
regards, saludos

Antonio Linares
www.fivetechsoft.com
elvira
Posts: 462
Joined: Fri Jun 29, 2012 12:49 pm

Re: error interno FWH

Post by elvira »

Antonio,

Yo siempre tengo una WNDMAIN del programa principal. En ella tengo un Menú, y en dicho menú está el listado.

Normalmente el código funciona bien. En ese 2% falla. También a otros les sucede lo mismo.

En mi caso, doy fe que Wndmain está activa y funcionando.

¿Por qué alguna vez entonces FWH entiende que WndMain no existe?.

¿Algo del motor interno de Fivewin?.

Mil gracias por tu atención.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: error interno FWH

Post by Antonio Linares »

Supongo que en ese 2% la data oWnd ha sido asignada a nil, pero la VALIDación aún no ha terminado, posiblemente un SysRefresh() eliminase _. Algún proceso ha podido consumir un tiempo algo excesivo.

En todo caso, la modificación que te he indicado, debería evitar ese 2% de errores que comentas :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
carlos vargas
Posts: 1421
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: error interno FWH

Post by carlos vargas »

me parece que ::oWnd : NIL debe se la ultima linea antes del true final.
::oImageList es un objeto que por lo general esta asociado a un hWnd, y pienso en este caso que debe estar usando el oWnd:hWnd , y al ser oWnd ya nil, puede reventar.

Code: Select all

      VALID        ( ::oWnd:oIcon := nil       ,;
                     ::oFont:End()             ,;
                     ::oMeta1:End()            ,;
                     ::oMeta2:End()            ,;
                     ::oDevice:End()           ,;
                     ::oHand:End()             ,;
                     If( Empty( ::oImageList ),, (::oImageList:End(), ::oImageList := nil ) ),;
                     ::oWnd := nil             ,;
                     ::lExit := .t.            ,;
 
salu2
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
elvira
Posts: 462
Joined: Fri Jun 29, 2012 12:49 pm

Re: error interno FWH

Post by elvira »

Antonio,

Ya he dado con la causa del problema, resulta que los usuarios cierran la WNDMAIN con el REPORT abierto.

¿Hay alguna forma de evitarlo?.

Muchas gracias.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: error interno FWH

Post by Antonio Linares »

Elvira,

Usa un VALID en la ventana principal, que devuelva .F. cuando el reporte esté mostrado
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply