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:ProyectosHarbourxPV2uenteswindow.prg => _FWH(3165)
Called from: => DIALOGBOX(0)
Called from: => TDIALOG:ACTIVATE(0)
Called from: C:ProyectosHarbourxPV2uentespv01.prg => PASSWORD(645)
Called from: C:ProyectosHarbourxPV2uentespv01.prg => (b)MAIN(229)
Called from: => TWINDOW:ACTIVATE(876)
Called from: C:ProyectosHarbourxPV2uentespv01.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