FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Para Antonio Linares, salida abrupta ...
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Para Antonio Linares, salida abrupta ...
Posted: Sat Feb 02, 2008 10:46 PM

Hola Antonio
Tengo un Punto de Venta recien instalado en unos equipos con XP y VISTA y los esta sacando bien seguido sin un patron de comportamiento igual hasta el momento, en el dialgo de la Venta, de pronto el sistema sin avisar en XP los saca y no genera error.log y en VISTA se bloquea y si genera error.log, lei en dias pasados un topico al problema que un colega tuvo con la clase DSAY "http://fivetechsoft.com/forums/viewtopic.php?t=9795"
yo uso FWH y Harbour, y las clases externas:
BTNGET, SSAY, TGRAPH, TSBUTTON, C5MENU, TWBROWSE Y VBOX, lo que resulta de todo es que en el topico del DSAY ahi le mencionas que corrija una linea de INVALIDATERECT y que con eso se solucion贸, yo estuve revisando las clases y en el dialogo de la venta uso las clases externas BTNGET,TSBUTTON y VBOX, pero la SSAY por ahi usa el INVALIDATERECT en el metodo Default, pudiera estar por ahi el problema o sera otra cosa?, de todas las clases externas que uso unicamente en la SSAY encontre el InvalidateRect, te pongo un pedazo del error.log generado y parte de mi codigo. Acabo de quitar en el dialogo de venta el uso de SSAY, pero sigo enlazando la libreria al sistema, mientras voy a probar por ahi en lo que me pudieras ayudar.

ERROR.LOG
Application
===========
Path and name: E:\Pventa\Caja5.exe (32 bits)
Size: 2,547,712 bytes
Time from start: 0 hours 0 mins 18 secs
Error occurred at: 20/01/2008, 23:32:47
Error description: Error BASE/1066 Argument error: conditional
Args:
[ 1] = U

Stack Calls

Called from: => TWINDOW:LVALID(0)
Called from: => TCONTROL:FWLOSTFOCUS(0)
Called from: => TCONTROL:HANDLEEVENT(0)
Called from: => TCONTROL:HANDLEEVENT(0)
Called from: C:ProyectosHarbourxPV2 uenteswindow.prg => _FWH(3165)
Called from: => DIALOGBOX(0)
Called from: => TDIALOG:ACTIVATE(0)
Called from: C:ProyectosHarbourxPV2 uentespv01.prg => PASSWORD(645)
Called from: C:ProyectosHarbourxPV2 uentespv01.prg => (b)MAIN(229)
Called from: => TWINDOW:ACTIVATE(876)
Called from: C:ProyectosHarbourxPV2 uentespv01.prg => MAIN(229)

MI CODIGO:

define _DDE_CH

define _VIDEO_CH

define _TREE_CH

define _ODBC_CH

INCLUDE "FiveWin.ch"

INCLUDE "Btnget.ch"

INCLUDE "TsButton.ch"

INCLUDE "Vbox.ch"

INCLUDE "DtPicker.ch"

INCLUDE "Splitter.ch"

INCLUDE "dbcombo.ch"

MEMVAR oWnd, oVarSys, oVarUsu

FUNCTION PV2100(oItem,nBtn,oToolBar)

 ..............
  DEFINE DIALOG oDlg NAME "PV2100" COLOR nRGB(0,64,128),nRGB(0,64,128)
 .............

  oDlg:bKeyDown := {|nK| if( ( nK == Asc( "A" ) .OR. nK == Asc( "a" ) ) .AND. GetKeyState( VK_CONTROL ), ;
                               ( IF(lAuto[VAL(nCaja)],lAuto[VAL(nCaja)]:=.F.,lAuto[VAL(nCaja)]:=.T.),;
              oMsgItem[4]:SetText("Venta Aut.: "+IF(lAuto[VAL(nCaja)],"S","N")),;
              oMsgItem[4]:Refresh(), SndPlaySound("Click.Wav")), ), ;
                         if( ( nK == Asc( "T" ) .OR. nK == Asc( "t" ) ) .AND. GetKeyState( VK_CONTROL ), ;
                               ( IF(lImpre[VAL(nCaja)],lImpre[VAL(nCaja)]:=.F.,lImpre[VAL(nCaja)]:=.T.),;
              oMsgItem[8]:SetText("Imp.Ticket: "+IF(lImpre[VAL(nCaja)],"S","N")),;
              oMsgItem[8]:Refresh(), SndPlaySound("Click.Wav")), ) }

*------

 ACTIVATE DIALOG oDlg CENTERED ;
     ON INIT ( Inicia(), Msg_Barra(oDlg,oMsg,oMsgItem,oFnt), ;
               SetWindowPos( oDlg:hWnd, -1,0,0,0,0,3 ) ) ;
     VALID ( IF(lSalir .OR. lCorteCaja,.T.,(lSalir:=Checa(@oBTmp))),IF(lSalir .OR. lCorteCaja,.T.,lSalir) )

Gracias.
Paco

____________________

Paco
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Para Antonio Linares, salida abrupta ...
Posted: Sun Feb 03, 2008 09:39 AM

Paco,

En el error.log el problema es que no est谩s devolviendo un valor l贸gico en un VALID:

Error description: Error BASE/1066 Argument error: conditional
Args:
[ 1] = U // posiblemente nil

Stack Calls

Called from: => TWINDOW:LVALID(0)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Para Antonio Linares, salida abrupta ...
Posted: Sun Feb 03, 2008 06:37 PM

gracias antonio, revisare, para ver en cual valid es,, ups, pa detectarlo alguna idea? porque tengo muchos
salu2
Paco

____________________

Paco
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Para Antonio Linares, salida abrupta ...
Posted: Sun Feb 03, 2008 07:01 PM
Paco,

Modifica el m茅todo lValid() de la clase TWindow de esta forma:
METHOD lValid() CLASS TWindow

   local lResult := .T.

   if ::bValid != nil
      lResult = Eval( ::bValid )
      if ValType( lResult ) != "L"
         MsgAlert( "VALID no retorna valor l贸gico desde " + ProcName( 3 ) + " L铆nea: " + Str( ProcLine( 3 ) )
      endif 
   endif    

return lResult

No lo he probado, quiz谩s tengas que usar 4 贸 5 en vez de 3.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Para Antonio Linares, salida abrupta ...
Posted: Mon Feb 04, 2008 06:09 PM

bien probar茅 te comento, imagino que el fallo viene por el valid que se hace a la window, pero si no es ahi se puede detectar en que objeto esta el fallo?
aqui dejo el error.log completo
Application
===========
Path and name: C:\Pventa2\valleverde\Caja5.exe (32 bits)
Size: 2,555,904 bytes
Time from start: 0 hours 0 mins 13 secs
Error occurred at: 03/02/2008, 00:36:22
Error description: Error BASE/1066 Argument error: conditional
Args:
[ 1] = U

Stack Calls

Called from: => TWINDOW:LVALID(0)
Called from: => TCONTROL:FWLOSTFOCUS(0)
Called from: => TCONTROL:HANDLEEVENT(0)
Called from: => TCONTROL:HANDLEEVENT(0)
Called from: C:ProyectosHarbourxPV2 uenteswindow.prg => _FWH(3165)
Called from: => SYSREFRESH(0)
Called from: => TCONTROL:KEYCHAR(0)
Called from: => TCONTROL:KEYCHAR(0)
Called from: => TCONTROL:HANDLEEVENT(0)
Called from: => TCONTROL:HANDLEEVENT(0)
Called from: => TCONTROL:HANDLEEVENT(0)
Called from: C:ProyectosHarbourxPV2 uenteswindow.prg => _FWH(3165)
Called from: => DIALOGBOX(0)
Called from: => TDIALOG:ACTIVATE(0)
Called from: C:ProyectosHarbourxPV2 uentespv01.prg => PASSWORD(648)
Called from: C:ProyectosHarbourxPV2 uentespv01.prg => (b)MAIN(231)
Called from: => TWINDOW:ACTIVATE(876)
Called from: C:ProyectosHarbourxPV2 uentespv01.prg => MAIN(231)

System

CPU type: Intel(R) Pentium(R) 4 CPU 2.26GHz 2266 Mhz
Hardware memory: 248 megs

Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %

Compiler version: Harbour Alpha build 46.2 Intl. (Flex)
Windows version: 5.1, Build 2600 Service Pack 2

Windows total applications running: 13
1
2 Men煤 Inicio
3 CiceroUIWndFrame
4 TF_FloatingLangBar_WndTitle
5 Registro de Acceso
6 Sistema Punto de Venta
7 MCI command handling window
8 WOWExec
9 Connections Tray
10 Medidor de energ铆a
11 MS_WebcheckMonitor
12 Hidden Main Window
13 Program Manager

Variables in use

Procedure Type Value
==========================
TWINDOW:LVALID
Local 1: O Class: TGET
Local 2: U
Local 3: U
Local 4: S
Local 5: N 0
TCONTROL:FWLOSTFOCUS
Param 1: N 459082
Local 1: O Class: TGET
Local 2: U
Local 3: U
TCONTROL:HANDLEEVENT
Param 1: N 2057
Param 2: N 459082
Param 3: N 0
Local 1: O Class: TGET
TCONTROL:HANDLEEVENT
Param 1: N 2057
Param 2: N 459082
Param 3: N 0
Local 1: O Class: TGET
_FWH
Param 1: N 0
Param 2: N 2057
Param 3: N 459082
Param 4: N 0
Param 5: N 9
Local 1: O Class: TGET
SYSREFRESH
TCONTROL:KEYCHAR
Param 1: N 13
Param 2: N 18612225
Local 1: O Class: TGET
Local 2: U
Local 3: U
Local 4: U
Local 5: U
TCONTROL:KEYCHAR
Param 1: N 13
Param 2: N 18612225
Local 1: O Class: TGET
Local 2: U
Local 3: U
Local 4: U
Local 5: U
Local 6: U
TCONTROL:HANDLEEVENT
Param 1: N 258
Param 2: N 13
Param 3: N 18612225
TCONTROL:HANDLEEVENT
Param 1: N 258
Param 2: N 13
Param 3: N 18612225
Local 1: O Class: TGET
TCONTROL:HANDLEEVENT
Param 1: N 258
Param 2: N 13
Param 3: N 18612225
Local 1: O Class: TGET
_FWH
Param 1: N 18612225
Param 2: N 258
Param 3: N 13
Param 4: N 18612225
Param 5: N 9
Local 1: O Class: TGET
DIALOGBOX
Param 1: N 4194304
Param 2: C "Acceso"
Param 3: N 1311060
Param 4: O Class: TDIALOG
TDIALOG:ACTIVATE
Param 1: U
Param 2: U
Param 3: U
Param 4: L .T.
Param 5: U
Param 6: L .T.
Param 7: B {|| ... }
Param 8: U
Param 9: U
Param 10: L .F.
Local 1: O Class: TDIALOG
Local 2: N 1311060
Local 3: U
Local 4: U
Local 5: S
Local 6: O Class: TDIALOG
PASSWORD
Param 1: O Class: TMDIFRAME
Param 2: O Class: TMSGITEM
Param 3: L .F.
Local 1: O Class: TDIALOG
Local 2: N 3
Local 3: C "Usuarios"
Local 4: L .F.
Local 5: L .F.
Local 6: C "ADMIN "
Local 7: O Class: TGET
Local 8: O Class: TGET
Local 9: C "Usuarios"
Local 10: C " "
Local 11: C "DBFCDX"
(b)MAIN
Param 1: O Class: TMDIFRAME
TWINDOW:ACTIVATE
Param 1: C "MAXIMIZED"
Param 2: U
Param 3: U
Param 4: U
Param 5: U
Param 6: U
Param 7: U
Param 8: B {|| ... }
Param 9: U
Param 10: U
Param 11: U
Param 12: U
Param 13: U
Param 14: U
Param 15: U
Param 16: U
Param 17: B {|| ... }
Param 18: U
Param 19: U
Local 1: O Class: TMDIFRAME
Local 2: U
Local 3: U
MAIN
Local 1: U
Local 2: O Class: TICON
Local 3: A Len: 4
Local 4: L .T.
Local 5: U
Local 6: N 11122277722

Linked RDDs

DBF
DBFFPT
DBFCDX
DBFBLOB

DataBases in use

Classes in use:

 1 HBCLASS
 2 HBOBJECT
 3 TVARSYS
 4 TVARUSU
 5 TFONT
 6 TWINDOW
 7 TDIALOG
 8 TBRUSH
 9 TCONTROL
10 TSAY
11 TBITMAP
12 TTIMER
13 TICON
14 TMDIFRAME
15 TC5MENU
16 TMENUITEMC5
17 TMDICLIENT
18 TIMAGELIST
19 TREBAR
20 TPANEL
21 TTOOLBAR
22 TMSGBAR
23 TRECT
24 TMSGITEM
25 TIMAGE
26 TGET
27 TBTNGET
28 GET
29 TCLIPGET
30 TBUTTON
31 ERROR
32 TREG32

Memory Analysis

  345 Static variables

Dynamic memory consume:
Actual Value: 0 bytes
Highest Value: 0 bytes
gracias
paco

____________________

Paco
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Para Antonio Linares, salida abrupta ...
Posted: Mon Feb 04, 2008 06:24 PM

Paco,

De tu error.log se ve que es en un GET:

Procedure Type Value

TWINDOW:LVALID
Local 1: O Class: TGET

Has probado la modificaci贸n del c贸digo del metodo lValid() que te he comentado ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Para Antonio Linares, salida abrupta ...
Posted: Mon Feb 04, 2008 07:12 PM

ya hice la modificacion en la clase window como me comentas, lo instalo con el cliente hoy mismo y a esperar a que brinque la rana,,,
Muy agradecido,
Paco

____________________

Paco

Continue the discussion