Alaska Software Inc. - CXP Debugger Problem - CXPTest.zip (0/1)
Username: Password:
AuthorTopic: CXP Debugger Problem - CXPTest.zip (0/1)
Jonathan LeemingCXP 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 LeemingRe: 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. TorresRe: 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 LeemingRe: 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. TorresRe: 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 LeemingRe: 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 LeemingRe: 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