Crashing

This forum is for eXpress++ general support.
Message
Author
omni
Posts: 556
Joined: Thu Jan 28, 2010 9:34 am

Crashing

#1 Post by omni »

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

User avatar
rdonnay
Site Admin
Posts: 4829
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Crashing

#2 Post by rdonnay »

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:

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.

omni
Posts: 556
Joined: Thu Jan 28, 2010 9:34 am

Re: Crashing

#3 Post by omni »

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

User avatar
rdonnay
Site Admin
Posts: 4829
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Crashing

#4 Post by rdonnay »

#include DMLB.CH

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.

omni
Posts: 556
Joined: Thu Jan 28, 2010 9:34 am

Re: Crashing

#5 Post by omni »

Yes, correct.

Still gives error. this time

unknown variable, FOXDBE_CREATE_2X

User avatar
rdonnay
Site Admin
Posts: 4829
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Crashing

#6 Post by rdonnay »

#INCLUDE "dmlb.CH"
#INCLUDE "foxdbe.CH"
#INCLUDE "cdxdbe.CH"
#INCLUDE "sdfdbe.CH"
The eXpress train is coming - and it has more cars.

omni
Posts: 556
Joined: Thu Jan 28, 2010 9:34 am

Re: Crashing

#7 Post by omni »

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

User avatar
Auge_Ohr
Posts: 1439
Joined: Wed Feb 24, 2010 3:44 pm

Re: Crashing

#8 Post by Auge_Ohr »

omni wrote: DbeSetDefault('FOXCDX')
DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .F. )

OR

DbeInfo( COMPONENT_DATA, FOXDBE_CREATE_2X, .T. )
you can not use BOTH ...
greetings by OHR
Jimmy

User avatar
rdonnay
Site Admin
Posts: 4829
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: Crashing

#9 Post by rdonnay »

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.
The eXpress train is coming - and it has more cars.

omni
Posts: 556
Joined: Thu Jan 28, 2010 9:34 am

Re: Crashing

#10 Post by omni »

Thanks,

That worked. And the menu options that were crashing are running when adding that.

Post Reply