Again I continue to have probles with xBrowse and closure on valid .. here is the error code :
Code: Select all | Expand
Application=========== Path and name: J:\VEHICLE\VEH32.EXE (32 bits) Size: 3,496,448 bytes Time from start: 4 hours 23 mins 9 secs Error occurred at: 08/06/2009, 14:00:54 Error description: Error ADODB.Recordset/6 DISP_E_UNKNOWNNAME: RECORDCOUNT Args:Stack Calls=========== Called from: source\rtl\win32ole.prg => TOLEAUTO:RECORDCOUNT(0) Called from: xbrowse.prg => (b)TXBROWSE:SETADO(3765) Called from: xbrowse.prg => TXBROWSE:PAINT(1254) Called from: xbrowse.prg => TXBROWSE:DISPLAY(957) Called from: .\source\classes\CONTROL.PRG => TXBROWSE:HANDLEEVENT(1423) Called from: .\source\classes\WINDOW.PRG => _FWH(3333) Called from: => DIALOGBOXINDIRECT(0) Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE(273) Called from: .\source\function\ERRSYSW.PRG => ERRORDIALOG(343) Called from: .\source\function\ERRSYSW.PRG => (b)ERRORSYS(27) Called from: source\rtl\win32ole.prg => TOLEAUTO:RECORDCOUNT(0) Called from: xbrowse.prg => (b)TXBROWSE:SETADO(3765) Called from: xbrowse.prg => TXBROWSE:PAINT(1254) Called from: xbrowse.prg => TXBROWSE:DISPLAY(957) Called from: .\source\classes\CONTROL.PRG => TXBROWSE:HANDLEEVENT(1423) Called from: .\source\classes\WINDOW.PRG => _FWH(3333) Called from: => DIALOGBOXINDIRECT(0) Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE(273) Called from: .\source\function\ERRSYSW.PRG => ERRORDIALOG(343) Called from: .\source\function\ERRSYSW.PRG => (b)ERRORSYS(27) Called from: source\rtl\win32ole.prg => TOLEAUTO:RECORDCOUNT(0) Called from: xbrowse.prg => (b)TXBROWSE:SETADO(3765) Called from: xbrowse.prg => TXBROWSE:PAINT(1254) Called from: xbrowse.prg => TXBROWSE:DISPLAY(957) Called from: .\source\classes\CONTROL.PRG => TXBROWSE:HANDLEEVENT(1423) Called from: .\source\classes\WINDOW.PRG => _FWH(3333) Called from: => WINRUN(0) Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE(952) Called from: MAIN.PRG => MAIN(381)
Here is Line 957

Here is line 1254

Here is line 3765

Here is the valid close for the browse :
Code: Select all | Expand
IF oRsVEH:eof oRsVEH:MoveFirst()ENDIFcTITLE := "SELECT * from VEHICLES where AGENCY = '"+xAGENCY+"'"nWd := GetSysMetrics(0) * .79nHt := GetSysMetrics(1) * .8lOK := .F.DEFINE ICON oICO RESOURCE "KEY"DEFINE WINDOW oWnd1 ; FROM 10,10 to nHt, nWd PIXEL ; TITLE cTITLE ; MENU BuildMenu( oRsVeh ) ; ICON oICO ; NOMINIMIZE ; NOZOOM ; MDICHILD@ 0, 0 xBROWSE oBrw of oWnd1 ; RECORDSET oRsVeh ; COLUMNS 'VNUMBER', ; 'TYPE', ; 'LICENSE', ; 'AGENCY', ; 'MEMO', ; 'MAKE', ; 'TYPE', ; 'YEAR', ; 'PROG', ; 'MOTORPOOL', ; 'REGION', ; 'LASTSERVCE', ; 'NEXTSERVCE', ; 'NEXTMILAGE', ; 'SERIALNUMB', ; 'ACTIVE', ; 'READONLY' ; COLSIZES 48,50,80,50,70,120,120,55,95,95,140,80,80,80,190,80,80 ; HEADERS "Vnum", ; "Type", ; "License", ; "Agency", ; "See Memo", ; "Make", ; "Model", ; "Year", ; "Program", ; "Mtrpool", ; "Location", ; "LastServ", ; "NextServ", ; "NextMilage", ; "Serial#", ; "Act", ; "ReadOnly" ; AUTOSORT AUTOCOLS LINES CELL oBrw:bClrStd := {|| {CLR_BLACK, if( oRsVeh:Fields("readonly"):Value = 'Y', RGB(179,203,204), CLR_WHITE ) } } oBrw:CreateFromCode() oWnd1:oClient := oBrw oBrw:aCols[2]:bEditValue := { |x|DispType( oRsVeh) } oBrw:aCols[5]:bEditValue := { |y|DispMemo( oRsVeh) } oBrw:bLDblClick := { |nRow,nCol | _VehView( "V", oRsVeh ) } oBrw:bKeyDown := { |nKey| _Manual( nKey,oRsVeh ) }ACTIVATE WINDOW oWND1 ; ON INIT( oBrw:SetFocus(), .F. ) ; VALID ( IIF( !lOK, ( oBrw:lCreated := .f., _VehClose(.T.) ), .F. )) * VALID ( IIF( !lOK, ( oBrw:End(), _VehClose(.T.) ), .F. )) * VALID ( IIF( !lOK, _VehClose(.T.), .F. ))RETURN( .T. )//------------------------static FUNCTION _VehClose( lCLEAN ) //, oRsVEH )IF lCLEAN = .T. lOK := .T. * VEHNUM := oRsVEH:Fields("LICENSE"):Value * FERASE( "C:\DBOVL\VEHNUM.MEM" ) * SAVE All like VEHNUM to C:\DBOVL\VEHNUM.MEM * oBRW:cALIAS:=NIL oBrw:End() oRsVEH:CLose() oRsVeh := NIL* _CleanUP()ENDIFRETURN(.T.)//----------------------------------// fix for recordcount errorStatic function GetKeyCount( oRs )local nKeyCount := 0if empty( oRs ) msginfo( "oRs is nil" ) RETURN( 0 )ENDIFTRY nKeyCount := oRs:RecordCount()CATCH nKeyCount := 0ENDreturn( nKeyCount )
As you can see .. there is nothing special here and I have taken everyones advice on closing the browse .. there somewhere from line 957 in the xbrowse code .. the chain of events are still fireing that lead to this intermittant failure.
Any Hints ??
Rick Lipkin