Author | Topic: CXP Debugger Problem - CXPTest.zip (0/1) | |
---|---|---|
Jonathan Leeming | CXP Debugger Problem - CXPTest.zip (0/1) on Sat, 03 Sep 2016 13:49:47 -0600 Hi, I'm having a problem running a CXP program with the workbench debugger (Xbase++ 2.0.726) ... Without the debugger the program runs without a problem. I have created a simple test program (attached) which opens a DBF file using DBFNTX, displays a count of records to confirm the file is open, and has a button called "Cycle" which simply reloads the same CXP program. It runs fine on the first pass but after one clicks on the cycle button and the program reloads it fails on line 15 which is... DbeLoad( "DBFDBE",.T.) The error is... Invalid DLL name for DBE in Line 15 Invalid DLL name for DBE (e.g. the file does not exist or does not have the .DLL extension) Again this only happens when running with the debugger and on the second pass... the first time it has no problem with the DBELoad(). The DBFDBE.DLL file (version 2.0.726.0) is located in... C:\Program Files (x86)\Alaska Software\cxp20\bin C:\Program Files (x86)\Alaska Software\xpp20\runtime C:\Program Files (x86)\Alaska Software\workbench20\bin C:\Program Files (x86)\Alaska Software\xpp20\lib C:\Program Files (x86)\Alaska Software\waa20\server The first part of my path environment variable displays as... PATH=C:\Program Files (x86)\Alaska Software\workbench20;C:\Program Files (x86)\Alaska Software\xpp20\bin;C:\Program Files (x86)\Alaska Software\xpp20\lib;C:\Program Files (x86)\Alaska Software\cxp20\bin In addition to the CXP program the ZIP file contains the error message and also a small test.dbf file that the CXP program opens from a shared folder on my C: drive called C:\CXPTest. If anyone could share some insight / suggestions I would appreciate it. Thanks... Jonathan Jonathan Leeming jonathan.leeming@the-family-centre.com | |
Jonathan Leeming | Re: CXP Debugger Problem - CXPTest.zip (0/1) on Sat, 03 Sep 2016 14:22:57 -0600 On Sat, 03 Sep 2016 13:49:47 -0600, Jonathan Leeming wrote: The steps that I take when running this program with the debugger are... 1) Open file in workbench 2) Right click and pick Debug. 3) Process pauses at line 12. 4) Hit F7 (Goto Cursor) 5) Goto browser (Firefox) and click "Cycle" button that the CXP page contains. 6) Pauses again at line 12. 7) Hit F10 3 times... CXP runtime error... "Invalid DLL name for DBE in line 15" >Hi, > >I'm having a problem running a CXP program with the workbench debugger >(Xbase++ 2.0.726) ... Without the debugger the program runs without a >problem. > >I have created a simple test program (attached) which opens a DBF file >using DBFNTX, displays a count of records to confirm the file is open, >and has a button called "Cycle" which simply reloads the same CXP >program. It runs fine on the first pass but after one clicks on the >cycle button and the program reloads it fails on line 15 which is... > >DbeLoad( "DBFDBE",.T.) > >The error is... > >Invalid DLL name for DBE in Line 15 >Invalid DLL name for DBE (e.g. the file does not exist or does not >have the .DLL extension) > >Again this only happens when running with the debugger and on the >second pass... the first time it has no problem with the DBELoad(). > >The DBFDBE.DLL file (version 2.0.726.0) is located in... > >C:\Program Files (x86)\Alaska Software\cxp20\bin >C:\Program Files (x86)\Alaska Software\xpp20\runtime >C:\Program Files (x86)\Alaska Software\workbench20\bin >C:\Program Files (x86)\Alaska Software\xpp20\lib >C:\Program Files (x86)\Alaska Software\waa20\server > >The first part of my path environment variable displays as... > >PATH=C:\Program Files (x86)\Alaska Software\workbench20;C:\Program >Files (x86)\Alaska Software\xpp20\bin;C:\Program Files (x86)\Alaska >Software\xpp20\lib;C:\Program Files (x86)\Alaska Software\cxp20\bin > >In addition to the CXP program the ZIP file contains the error message >and also a small test.dbf file that the CXP program opens from a >shared folder on my C: drive called C:\CXPTest. > >If anyone could share some insight / suggestions I would appreciate >it. > >Thanks... Jonathan > > > > > > > > >Jonathan Leeming >jonathan.leeming@the-family-centre.com Jonathan Leeming jonathan.leeming@the-family-centre.com | |
Nestor G. Torres | Re: CXP Debugger Problem - CXPTest.zip (0/1) on Sun, 04 Sep 2016 09:47:25 +0200 Hi Jonathan I'm currently updating my test machine with the latest version of 2.0. It seems to be taking a long time. But If I were you I would be tempted to put a sleep(100) just before the start of the DbeLoad's. I am taking a guess, but maybe the debugger is not recycling itself fast enough. Kind regards Nestor On 03-Sep-16 10:22 PM, Jonathan Leeming wrote: > On Sat, 03 Sep 2016 13:49:47 -0600, Jonathan Leeming wrote: > > The steps that I take when running this program with the debugger > are... > > 1) Open file in workbench > 2) Right click and pick Debug. > 3) Process pauses at line 12. > 4) Hit F7 (Goto Cursor) > 5) Goto browser (Firefox) and click "Cycle" button that the CXP page > contains. > 6) Pauses again at line 12. > 7) Hit F10 3 times... > CXP runtime error... "Invalid DLL name for DBE in line 15" > >> Hi, >> >> I'm having a problem running a CXP program with the workbench debugger >> (Xbase++ 2.0.726) ... Without the debugger the program runs without a >> problem. >> >> I have created a simple test program (attached) which opens a DBF file >> using DBFNTX, displays a count of records to confirm the file is open, >> and has a button called "Cycle" which simply reloads the same CXP >> program. It runs fine on the first pass but after one clicks on the >> cycle button and the program reloads it fails on line 15 which is... >> >> DbeLoad( "DBFDBE",.T.) >> >> The error is... >> >> Invalid DLL name for DBE in Line 15 >> Invalid DLL name for DBE (e.g. the file does not exist or does not >> have the .DLL extension) >> >> Again this only happens when running with the debugger and on the >> second pass... the first time it has no problem with the DBELoad(). >> >> The DBFDBE.DLL file (version 2.0.726.0) is located in... >> >> C:\Program Files (x86)\Alaska Software\cxp20\bin >> C:\Program Files (x86)\Alaska Software\xpp20\runtime >> C:\Program Files (x86)\Alaska Software\workbench20\bin >> C:\Program Files (x86)\Alaska Software\xpp20\lib >> C:\Program Files (x86)\Alaska Software\waa20\server >> >> The first part of my path environment variable displays as... >> >> PATH=C:\Program Files (x86)\Alaska Software\workbench20;C:\Program >> Files (x86)\Alaska Software\xpp20\bin;C:\Program Files (x86)\Alaska >> Software\xpp20\lib;C:\Program Files (x86)\Alaska Software\cxp20\bin >> >> In addition to the CXP program the ZIP file contains the error message >> and also a small test.dbf file that the CXP program opens from a >> shared folder on my C: drive called C:\CXPTest. >> >> If anyone could share some insight / suggestions I would appreciate >> it. >> >> Thanks... Jonathan >> >> >> >> >> >> >> >> >> Jonathan Leeming >> jonathan.leeming@the-family-centre.com > > > Jonathan Leeming > jonathan.leeming@the-family-centre.com > | |
Jonathan Leeming | Re: CXP Debugger Problem - CXPTest.zip (0/1) on Sun, 04 Sep 2016 08:29:29 -0600 Hi Nestor... and thanks for the suggestion however even with the SLEEP(100) I get the same DbeLoad( "DBFDBE",.T.) error. Regards... Jonathan On Sun, 04 Sep 2016 09:47:25 +0200, Nestor G. Torres wrote: >Hi Jonathan > >I'm currently updating my test machine with the latest version of 2.0. >It seems to be taking a long time. > >But If I were you I would be tempted to put a sleep(100) just before the >start of the DbeLoad's. > >I am taking a guess, but maybe the debugger is not recycling itself fast >enough. > >Kind regards >Nestor > > >On 03-Sep-16 10:22 PM, Jonathan Leeming wrote: >> On Sat, 03 Sep 2016 13:49:47 -0600, Jonathan Leeming wrote: >> >> The steps that I take when running this program with the debugger >> are... >> >> 1) Open file in workbench >> 2) Right click and pick Debug. >> 3) Process pauses at line 12. >> 4) Hit F7 (Goto Cursor) >> 5) Goto browser (Firefox) and click "Cycle" button that the CXP page >> contains. >> 6) Pauses again at line 12. >> 7) Hit F10 3 times... >> CXP runtime error... "Invalid DLL name for DBE in line 15" >> >>> Hi, >>> >>> I'm having a problem running a CXP program with the workbench debugger >>> (Xbase++ 2.0.726) ... Without the debugger the program runs without a >>> problem. >>> >>> I have created a simple test program (attached) which opens a DBF file >>> using DBFNTX, displays a count of records to confirm the file is open, >>> and has a button called "Cycle" which simply reloads the same CXP >>> program. It runs fine on the first pass but after one clicks on the >>> cycle button and the program reloads it fails on line 15 which is... >>> >>> DbeLoad( "DBFDBE",.T.) >>> >>> The error is... >>> >>> Invalid DLL name for DBE in Line 15 >>> Invalid DLL name for DBE (e.g. the file does not exist or does not >>> have the .DLL extension) >>> >>> Again this only happens when running with the debugger and on the >>> second pass... the first time it has no problem with the DBELoad(). >>> >>> The DBFDBE.DLL file (version 2.0.726.0) is located in... >>> >>> C:\Program Files (x86)\Alaska Software\cxp20\bin >>> C:\Program Files (x86)\Alaska Software\xpp20\runtime >>> C:\Program Files (x86)\Alaska Software\workbench20\bin >>> C:\Program Files (x86)\Alaska Software\xpp20\lib >>> C:\Program Files (x86)\Alaska Software\waa20\server >>> >>> The first part of my path environment variable displays as... >>> >>> PATH=C:\Program Files (x86)\Alaska Software\workbench20;C:\Program >>> Files (x86)\Alaska Software\xpp20\bin;C:\Program Files (x86)\Alaska >>> Software\xpp20\lib;C:\Program Files (x86)\Alaska Software\cxp20\bin >>> >>> In addition to the CXP program the ZIP file contains the error message >>> and also a small test.dbf file that the CXP program opens from a >>> shared folder on my C: drive called C:\CXPTest. >>> >>> If anyone could share some insight / suggestions I would appreciate >>> it. >>> >>> Thanks... Jonathan >>> >>> >>> >>> >>> >>> >>> >>> >>> Jonathan Leeming >>> jonathan.leeming@the-family-centre.com >> >> >> Jonathan Leeming >> jonathan.leeming@the-family-centre.com >> Jonathan Leeming jonathan.leeming@the-family-centre.com | |
Nestor G. Torres | Re: CXP Debugger Problem - CXPTest.zip (0/1) on Sun, 04 Sep 2016 11:41:48 +0200 Hi Jonathan, Just finished updating to build 726 on my foundation subscription. I am able to load and run your test01.cxp within the workbench but when I try to right click and pick Debug I get the following error coming up on the browser for : localhost:5000/test01.cxp Can not reach this page I have tried it with firefox and ide; same kind of message. So the debugger does not work for me at all ... maybe there is a bug with the foundation subscription. I am sure you probably have the professional addition. I hope Alaska is reading our post. Kind Regards, Nestor On 03-Sep-16 10:22 PM, Jonathan Leeming wrote: > On Sat, 03 Sep 2016 13:49:47 -0600, Jonathan Leeming wrote: > > The steps that I take when running this program with the debugger > are... > > 1) Open file in workbench > 2) Right click and pick Debug. > 3) Process pauses at line 12. > 4) Hit F7 (Goto Cursor) > 5) Goto browser (Firefox) and click "Cycle" button that the CXP page > contains. > 6) Pauses again at line 12. > 7) Hit F10 3 times... > CXP runtime error... "Invalid DLL name for DBE in line 15" > >> Hi, >> >> I'm having a problem running a CXP program with the workbench debugger >> (Xbase++ 2.0.726) ... Without the debugger the program runs without a >> problem. >> >> I have created a simple test program (attached) which opens a DBF file >> using DBFNTX, displays a count of records to confirm the file is open, >> and has a button called "Cycle" which simply reloads the same CXP >> program. It runs fine on the first pass but after one clicks on the >> cycle button and the program reloads it fails on line 15 which is... >> >> DbeLoad( "DBFDBE",.T.) >> >> The error is... >> >> Invalid DLL name for DBE in Line 15 >> Invalid DLL name for DBE (e.g. the file does not exist or does not >> have the .DLL extension) >> >> Again this only happens when running with the debugger and on the >> second pass... the first time it has no problem with the DBELoad(). >> >> The DBFDBE.DLL file (version 2.0.726.0) is located in... >> >> C:\Program Files (x86)\Alaska Software\cxp20\bin >> C:\Program Files (x86)\Alaska Software\xpp20\runtime >> C:\Program Files (x86)\Alaska Software\workbench20\bin >> C:\Program Files (x86)\Alaska Software\xpp20\lib >> C:\Program Files (x86)\Alaska Software\waa20\server >> >> The first part of my path environment variable displays as... >> >> PATH=C:\Program Files (x86)\Alaska Software\workbench20;C:\Program >> Files (x86)\Alaska Software\xpp20\bin;C:\Program Files (x86)\Alaska >> Software\xpp20\lib;C:\Program Files (x86)\Alaska Software\cxp20\bin >> >> In addition to the CXP program the ZIP file contains the error message >> and also a small test.dbf file that the CXP program opens from a >> shared folder on my C: drive called C:\CXPTest. >> >> If anyone could share some insight / suggestions I would appreciate >> it. >> >> Thanks... Jonathan >> >> >> >> >> >> >> >> >> Jonathan Leeming >> jonathan.leeming@the-family-centre.com > > > Jonathan Leeming > jonathan.leeming@the-family-centre.com > | |
Andreas Gehrs-Pahl | Re: CXP Debugger Problem - CXPTest.zip (0/1) on Sun, 04 Sep 2016 15:11:57 -0400 Jonathan, >>DbeLoad( "DBFDBE",.T.) >>The error is... >>Invalid DLL name for DBE in Line 15 The error means that you can't load a DBE twice, and the DBFDBE would already be loaded when you debug your page. I don't use CXP, so I can only guess here, but as far as I know, there is no need to load (standard) DBEs. At least none of the Alaska samples load explicitly a DBE, probably because the default DbeSys() procedure from the XppSys() DLL is always included. If you do need to load a DBE, it should be marked as a global section, so it is only executed once during the lifetime of the page. The following might work (if I understand the documentation correctly): <!-- The DBEs are loaded only once --> <%#code locality="page-global"%> <% Procedure DbeSys() DbeLoad("DBFDBE", .t.) DbeLoad("NTXDBE", .t.) DbeBuild("DBFNTX", "DBFDBE", "NTXDBE") return %> <!-- The following is done when the page is loaded --> <%#code locality="page-load"%> <% cAlias := "TEST" cPath := "\\TP-JDL\CXPTest\" SET DEFAULT TO (cPath) dbUseArea(.T., , cAlias,, .T.) %> <!-- The rest is done every time the page is shown --> Additionally (or instead), you could check if the DBEs are already loaded, before trying to load them again, using something like the following. But keep in mind, the less code is executed, the faster your page will load. if AScan(DbeList(), "DBFDBE") == 0 DbeLoad(...) endif Hope that helps, Andreas Andreas Gehrs-Pahl Absolute Software, LLC phone: (989) 723-9927 email: Andreas@AbsoluteSoftwareLLC.com web: http://www.AbsoluteSoftwareLLC.com [F]: https://www.facebook.com/AbsoluteSoftwareLLC | |
Jonathan Leeming | Re: CXP Debugger Problem - CXPTest.zip (0/1) on Sun, 04 Sep 2016 14:10:06 -0600 Hi Andreas... And thanks... removing the DbeLoad lines resolved the issue... I'm not sure why having the DbeLoad lines was working when not using debugger and only causing errors while debugging. I originally experienced the problem when using ADSDBE in a different CXP program but will keep your point in mind regarding only loading it once when I go back to "play" with my original routine. Again... Many Thanks... Jonathan On Sun, 04 Sep 2016 15:11:57 -0400, Andreas Gehrs-Pahl wrote: >Jonathan, > >>>DbeLoad( "DBFDBE",.T.) >>>The error is... >>>Invalid DLL name for DBE in Line 15 > >The error means that you can't load a DBE twice, and the DBFDBE would >already be loaded when you debug your page. I don't use CXP, so I can only >guess here, but as far as I know, there is no need to load (standard) DBEs. >At least none of the Alaska samples load explicitly a DBE, probably because >the default DbeSys() procedure from the XppSys() DLL is always included. > >If you do need to load a DBE, it should be marked as a global section, so >it is only executed once during the lifetime of the page. The following >might work (if I understand the documentation correctly): > ><!-- The DBEs are loaded only once --> ><%#code locality="page-global"%> ><% >Procedure DbeSys() > DbeLoad("DBFDBE", .t.) > DbeLoad("NTXDBE", .t.) > DbeBuild("DBFNTX", "DBFDBE", "NTXDBE") >return >%> > ><!-- The following is done when the page is loaded --> ><%#code locality="page-load"%> ><% >cAlias := "TEST" >cPath := "\\TP-JDL\CXPTest\" >SET DEFAULT TO (cPath) >dbUseArea(.T., , cAlias,, .T.) >%> > ><!-- The rest is done every time the page is shown --> > >Additionally (or instead), you could check if the DBEs are already loaded, >before trying to load them again, using something like the following. But >keep in mind, the less code is executed, the faster your page will load. > >if AScan(DbeList(), "DBFDBE") == 0 > DbeLoad(...) >endif > >Hope that helps, > >Andreas Jonathan Leeming jonathan.leeming@the-family-centre.com | |
Jonathan Leeming | Re: CXP Debugger Problem - CXPTest.zip (0/1) on Mon, 05 Sep 2016 09:10:12 -0600 Spoke too soon... Apparently removing the DBELoad() / DBEBuild() causes the default DBE to be FOXCDX which is contrary to the current Xbase documentation which states... "By default the DBE named DBFNTX is available. It is a compound DBE containing component DBEs from the files DBFDBE.DLL and NTXDBE.DLL. " I have since tried your suggestion of adding my own DBESYS() at the start... <!-- The DBEs are loaded only once --> <%#code locality="page-global"%> <% FUNCTION DBESYS() DbeLoad( "DBFDBE",.T.) DbeLoad( "NTXDBE",.T.) DbeBuild( "DBFNTX", "DBFDBE", "NTXDBE" ) dbeSetdefault("DBFNTX") RETURN NIL %> But this has no effect... I don't belive it is being called as the default DBE is still FOXCDX. The only working solution so far is to use your suggested... IF ASCAN(DbeList(), "DBFDBE") == 0 DbeLoad( "DBFDBE",.T.) DbeLoad( "NTXDBE",.T.) DbeBuild( "DBFNTX", "DBFDBE", "NTXDBE" ) ENDIF Thanks... Jonathan On Sun, 04 Sep 2016 14:10:06 -0600, Jonathan Leeming wrote: >Hi Andreas... And thanks... removing the DbeLoad lines resolved the >issue... I'm not sure why having the DbeLoad lines was working when >not using debugger and only causing errors while debugging. > >I originally experienced the problem when using ADSDBE in a different >CXP program but will keep your point in mind regarding only loading >it once when I go back to "play" with my original routine. > >Again... Many Thanks... Jonathan > >On Sun, 04 Sep 2016 15:11:57 -0400, Andreas Gehrs-Pahl wrote: > >>Jonathan, >> >>>>DbeLoad( "DBFDBE",.T.) >>>>The error is... >>>>Invalid DLL name for DBE in Line 15 >> >>The error means that you can't load a DBE twice, and the DBFDBE would >>already be loaded when you debug your page. I don't use CXP, so I can only >>guess here, but as far as I know, there is no need to load (standard) DBEs. >>At least none of the Alaska samples load explicitly a DBE, probably because >>the default DbeSys() procedure from the XppSys() DLL is always included. >> >>If you do need to load a DBE, it should be marked as a global section, so >>it is only executed once during the lifetime of the page. The following >>might work (if I understand the documentation correctly): >> >><!-- The DBEs are loaded only once --> >><%#code locality="page-global"%> >><% >>Procedure DbeSys() >> DbeLoad("DBFDBE", .t.) >> DbeLoad("NTXDBE", .t.) >> DbeBuild("DBFNTX", "DBFDBE", "NTXDBE") >>return >>%> >> >><!-- The following is done when the page is loaded --> >><%#code locality="page-load"%> >><% >>cAlias := "TEST" >>cPath := "\\TP-JDL\CXPTest\" >>SET DEFAULT TO (cPath) >>dbUseArea(.T., , cAlias,, .T.) >>%> >> >><!-- The rest is done every time the page is shown --> >> >>Additionally (or instead), you could check if the DBEs are already loaded, >>before trying to load them again, using something like the following. But >>keep in mind, the less code is executed, the faster your page will load. >> >>if AScan(DbeList(), "DBFDBE") == 0 >> DbeLoad(...) >>endif >> >>Hope that helps, >> >>Andreas > > >Jonathan Leeming >jonathan.leeming@the-family-centre.com Jonathan Leeming jonathan.leeming@the-family-centre.com |