Roger,
Client using 2.0 xbase, not ads. Added the dclip1 to their system due to something in there that had to be loaded.DC_LoadRdds(). Programs they run everyday started locking up and crashing. All to do with indexes. Not actually loading the command, but its in a function if the system is ADS.
I reverted them back this morning to prior version and its fine.
The only change is that dclip1.lib is loaded in my xpj, and once that is done the only way I could get either xbase fox to load or ads to load is to use the dbesys.prg, which has two versions, one for ads and one for xbase. Will no longer load from main.
As a note, only there, which is our only client on 2.0 . Same version loaded at another site friday, which is 1.9, and it does not have that problem.
Thanks
Fred
Crashing
Re: Crashing
I think that the problem is due to the configuration of the FOXCDX driver.
Put this at the start of the program in your main procedure:
Put this at the start of the program in your main procedure:
Code: Select all
DbeSetDefault('FOXCDX')
DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .F. )
DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE , FOXDFBE_LOCKMODE_VISUAL )
/*
DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .T. )
DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE , FOXDBE_LOCKMODE_2X )
DbeInfo( COMPONENT_ORDER, CDXDBE_MODE , CDXDBE_FOXPRO2X )
The eXpress train is coming - and it has more cars.
Re: Crashing
Errors out. Does not know what COMPONENT_DATA is.
Just to be sure, this is xbase, not ADS. The dclip1.dll is loaded so that users with alaska and ADS both have the same programs, with logic to handle which is loaded.
Works fine here with 1.9, but not with 2.0
Mostly so far on appending to files multiple records when the file has an index. Locks up and user has to close using task manager. The file cannot be opened with the index. so we end up replacing the file and index. looks ok, then does the same thing again.
Large files with indexes just give an operating system error when opening.
Fred
Just to be sure, this is xbase, not ADS. The dclip1.dll is loaded so that users with alaska and ADS both have the same programs, with logic to handle which is loaded.
Works fine here with 1.9, but not with 2.0
Mostly so far on appending to files multiple records when the file has an index. Locks up and user has to close using task manager. The file cannot be opened with the index. so we end up replacing the file and index. looks ok, then does the same thing again.
Large files with indexes just give an operating system error when opening.
Fred
Re: Crashing
#include DMLB.CH
This stuff is in the Xbase++ documentation.
Am I correct in assuming that your databases are FOXCDX?
This stuff is in the Xbase++ documentation.
Am I correct in assuming that your databases are FOXCDX?
The eXpress train is coming - and it has more cars.
Re: Crashing
Yes, correct.
Still gives error. this time
unknown variable, FOXDBE_CREATE_2X
Still gives error. this time
unknown variable, FOXDBE_CREATE_2X
Re: Crashing
#INCLUDE "dmlb.CH"
#INCLUDE "foxdbe.CH"
#INCLUDE "cdxdbe.CH"
#INCLUDE "sdfdbe.CH"
#INCLUDE "foxdbe.CH"
#INCLUDE "cdxdbe.CH"
#INCLUDE "sdfdbe.CH"
The eXpress train is coming - and it has more cars.
Re: Crashing
New error, but does not make sense. The def is in the .ch file and its reading it but still says invalid for the locking mode now..
////////////////////////////////////////////////////////////////////////////////////////////////////
//
// DBESYS.PRG
//
// DbeSys() is called automatically at program start before the function MAIN.
//
////////////////////////////////////////////////////////////////////////////////////////////////////
#INCLUDE "common.CH"
#include "dmlb.ch"
#INCLUDE "foxdbe.CH"
#INCLUDE "cdxdbe.CH"
#INCLUDE "sdfdbe.CH"
*******************************************************************************
* DbeSys() is always executed at program startup
*******************************************************************************
PROCEDURE dbeSys()
IF ! DbeLoad( "CDXDBE",.T.)
Alert( "Database-Engine CDXDBE not loaded" , {"OK"} )
ENDIF
IF ! DbeLoad( "FOXDBE",.T.)
Alert( "Database-Engine FOXDBE not loaded" , {"OK"} )
ENDIF
IF ! DbeBuild( "FOXCDX", "FOXDBE", "CDXDBE" )
Alert( "FOXCDX Database-Engine;Could not build engine" , {"OK"} )
ENDIF
DbeSetDefault('FOXCDX')
DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .F. )
DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE , FOXDFBE_LOCKMODE_VISUAL )
DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .T. )
DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE , FOXDBE_LOCKMODE_2X )
DbeInfo( COMPONENT_ORDER, CDXDBE_MODE , CDXDBE_FOXPRO2X )
RETURN
Says invalid lockmode_visual, which is in that ch file. Even copied into the working directory.
Does a .lib file need to be loaded? Only thing I can think of, or a dll is missing. There is not a lib file that references that, all the dll files are in the working folder to be sure paths are not an issue for alaska 2.0 testing. So are all the .ch files, copied those in also just to be sure.
I tried in the dbesys and in main, same error.
Why do you thing just loading dclip1.dll in the xpj causes these lock up errors in 2.0?
Fred
////////////////////////////////////////////////////////////////////////////////////////////////////
//
// DBESYS.PRG
//
// DbeSys() is called automatically at program start before the function MAIN.
//
////////////////////////////////////////////////////////////////////////////////////////////////////
#INCLUDE "common.CH"
#include "dmlb.ch"
#INCLUDE "foxdbe.CH"
#INCLUDE "cdxdbe.CH"
#INCLUDE "sdfdbe.CH"
*******************************************************************************
* DbeSys() is always executed at program startup
*******************************************************************************
PROCEDURE dbeSys()
IF ! DbeLoad( "CDXDBE",.T.)
Alert( "Database-Engine CDXDBE not loaded" , {"OK"} )
ENDIF
IF ! DbeLoad( "FOXDBE",.T.)
Alert( "Database-Engine FOXDBE not loaded" , {"OK"} )
ENDIF
IF ! DbeBuild( "FOXCDX", "FOXDBE", "CDXDBE" )
Alert( "FOXCDX Database-Engine;Could not build engine" , {"OK"} )
ENDIF
DbeSetDefault('FOXCDX')
DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .F. )
DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE , FOXDFBE_LOCKMODE_VISUAL )
DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .T. )
DbeInfo( COMPONENT_DATA, FOXDBE_LOCKMODE , FOXDBE_LOCKMODE_2X )
DbeInfo( COMPONENT_ORDER, CDXDBE_MODE , CDXDBE_FOXPRO2X )
RETURN
Says invalid lockmode_visual, which is in that ch file. Even copied into the working directory.
Does a .lib file need to be loaded? Only thing I can think of, or a dll is missing. There is not a lib file that references that, all the dll files are in the working folder to be sure paths are not an issue for alaska 2.0 testing. So are all the .ch files, copied those in also just to be sure.
I tried in the dbesys and in main, same error.
Why do you thing just loading dclip1.dll in the xpj causes these lock up errors in 2.0?
Fred
Re: Crashing
you can not use BOTH ...omni wrote: DbeSetDefault('FOXCDX')
DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .F. )
OR
DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .T. )
greetings by OHR
Jimmy
Jimmy
Re: Crashing
DCLIP1.DLL has an INIT PROC in _dcinit.prg.
This proc calls dc_loadrdds ().
That function loads the Foxcdx driver and sets parameters.
I am guessing that is the problem and so I suggested overriding those parameters.
You didn't answer my question. Are you using the Foxcdx drver?
I am on a mountain top typing on a tablet.
This will have to wait until Wednesday.
I'm guessing we need another phone call.
This proc calls dc_loadrdds ().
That function loads the Foxcdx driver and sets parameters.
I am guessing that is the problem and so I suggested overriding those parameters.
You didn't answer my question. Are you using the Foxcdx drver?
I am on a mountain top typing on a tablet.
This will have to wait until Wednesday.
I'm guessing we need another phone call.
The eXpress train is coming - and it has more cars.
Re: Crashing
Thanks,
That worked. And the menu options that were crashing are running when adding that.
That worked. And the menu options that were crashing are running when adding that.