Author | Topic: Scope not working in xBase++ 2.0 - xBase 2.0.zip (0/1) | |
---|---|---|
Jacob John | Scope not working in xBase++ 2.0 - xBase 2.0.zip (0/1) on Mon, 16 Apr 2018 12:19:53 +0530 Hi, I have a problem Scope in xBase++ 2.0. But it is working in 1.9 as expected. Please find the attached sample. I have given the message box to show the no. of records matching the scope. The first message box showing No. of Nationalities : 9, means there are 9 records which is the result of Set Scope To "01","01". Likewise the, for the second scope (Set Scope To "10","10"), there are 34 matching records. So it should show No. of Designations: 34. Instead of that it is showing No. of Designations: 0. That means the second scope is not working. This behavior shows in xBase++ 2.0 But second Scope will work if we close the table and reopen it. But it is working in 1.9 properly. Anybody facing this problem ? Regards Kiron | |
Jonathan Leeming | Re: Scope not working in xBase++ 2.0 - xBase 2.0.zip (0/1) on Mon, 16 Apr 2018 11:10:07 -0600 On 4/16/2018 12:49 AM, Jacob John wrote: > Hi, > > I have a problem Scope in xBase++ 2.0. But it is working in 1.9 as > expected. > > Please find the attached sample. > > > I have given the message box to show the no. of records matching the > scope. The first message box showing “No. of Nationalities : 9”, means > there are 9 records which is the result of Set Scope To "01","01". > > Likewise the, for the second scope (Set Scope To "10","10"), there are > 34 matching records. So it should show “No. of Designations: 34”. > Instead of that it is showing “No. of Designations: 0”. That means the > second scope is not working. This behavior shows in xBase++ 2.0 > > But second Scope will work if we close the table and reopen it. > > But it is working in 1.9 properly. > > Anybody facing this problem ? > > Regards > Kiron > Hi Kiron, I use scopes extensively in an ADS environment with Xbase++ 2.0 without issues. The only thing that I do differently is use the DbSetScope() function but I suspect the Preprocessor converts the command or function to the same underlying code. Is it possible that you are using different ADS libraries with 2.0 vs 1.9. I always use the ace32.dll & axcws32.dll (versions 11.10.0.24 June 23, 2015) from Advantage instead of the coresponding dll files that Alaska has. Regards... Jonathan jonathan.leeming@the-family-centre.com Edmonton, Alberta, Canada | |
Jacob John | Re: Scope not working in xBase++ 2.0 - xBase 2.0.zip (0/1) - Scope.zip (0/1) on Wed, 18 Apr 2018 16:47:19 +0530 Hi Jonathan, I am using DLLs from my ADS installation folder. I have created two separate independent samples with DLLs to showcase the issue. Please find the attached file. It contains two folders. Unzip this file to any machine which has ADS. Execute ADSTEST.EXE from both folders. Hope these files explains the problem. Regards Kiron On Mon, 16 Apr 2018 11:10:07 -0600, Jonathan Leeming wrote: >On 4/16/2018 12:49 AM, Jacob John wrote: >> Hi, >> >> I have a problem Scope in xBase++ 2.0. But it is working in 1.9 as >> expected. >> >> Please find the attached sample. >> >> >> I have given the message box to show the no. of records matching the >> scope. The first message box showing No. of Nationalities : 9, means >> there are 9 records which is the result of Set Scope To "01","01". >> >> Likewise the, for the second scope (Set Scope To "10","10"), there are >> 34 matching records. So it should show No. of Designations: 34. >> Instead of that it is showing No. of Designations: 0. That means the >> second scope is not working. This behavior shows in xBase++ 2.0 >> >> But second Scope will work if we close the table and reopen it. >> >> But it is working in 1.9 properly. >> >> Anybody facing this problem ? >> >> Regards >> Kiron >> >Hi Kiron, > >I use scopes extensively in an ADS environment with Xbase++ 2.0 without >issues. The only thing that I do differently is use the DbSetScope() >function but I suspect the Preprocessor converts the command or function >to the same underlying code. > >Is it possible that you are using different ADS libraries with 2.0 vs >1.9. I always use the ace32.dll & axcws32.dll (versions 11.10.0.24 June >23, 2015) from Advantage instead of the coresponding dll files that >Alaska has. > >Regards... Jonathan | |
Jonathan Leeming | Re: Scope not working in xBase++ 2.0 - xBase 2.0.zip (0/1) - Scope.zip (0/1) on Wed, 18 Apr 2018 09:49:22 -0600 On 4/18/2018 5:17 AM, Jacob John wrote: > Hi Jonathan, > > I am using DLLs from my ADS installation folder. > > I have created two separate independent samples with DLLs to showcase > the issue. Please find the attached file. It contains two folders. > Unzip this file to any machine which has ADS. Execute ADSTEST.EXE from > both folders. Hope these files explains the problem. > > Regards > Kiron > > On Mon, 16 Apr 2018 11:10:07 -0600, Jonathan Leeming wrote: > >> On 4/16/2018 12:49 AM, Jacob John wrote: >>> Hi, >>> >>> I have a problem Scope in xBase++ 2.0. But it is working in 1.9 as >>> expected. >>> >>> Please find the attached sample. >>> >>> >>> I have given the message box to show the no. of records matching the >>> scope. The first message box showing “No. of Nationalities : 9”, means >>> there are 9 records which is the result of Set Scope To "01","01". >>> >>> Likewise the, for the second scope (Set Scope To "10","10"), there are >>> 34 matching records. So it should show “No. of Designations: 34”. >>> Instead of that it is showing “No. of Designations: 0”. That means the >>> second scope is not working. This behavior shows in xBase++ 2.0 >>> >>> But second Scope will work if we close the table and reopen it. >>> >>> But it is working in 1.9 properly. >>> >>> Anybody facing this problem ? >>> >>> Regards >>> Kiron >>> >> Hi Kiron, >> >> I use scopes extensively in an ADS environment with Xbase++ 2.0 without >> issues. The only thing that I do differently is use the DbSetScope() >> function but I suspect the Preprocessor converts the command or function >> to the same underlying code. >> >> Is it possible that you are using different ADS libraries with 2.0 vs >> 1.9. I always use the ace32.dll & axcws32.dll (versions 11.10.0.24 June >> 23, 2015) from Advantage instead of the coresponding dll files that >> Alaska has. >> >> Regards... Jonathan Hi Kiron, I replicated the problem that you are having with the second scope. After setting the second scope followed by GOTOP() I found that: 1) DBSCOPE(SCOPE_BOTH) returned {"10","10} as it should 1) the record pointer was at LASTREC()+1 2) BOF & EOF were both True. If I then switched back to the original scope the results were correct. I found that, as a work around, using: H0->(DBSEEK(H0->(DBSCOPE(SCOPE_TOP)))) instead of H0->(DbGoTop()) resolved the problem. Since I don't actively use tables bound to ADS dictionaries (all my tables are "Free" DBF/FTP/CDX) I'm thinking that this is an issue with Alaska's handling ADS dictionary tables. I just tried the equivalent code with: DbeInfo( COMPONENT_DATA, ADSDBE_TBL_MODE, ADSDBE_CDX) DbeInfo( COMPONENT_ORDER, ADSDBE_INDEX_EXT, "CDX") DbeInfo( COMPONENT_DATA, ADSDBE_DICTIONARY_DATA, .F. ) At it worked as it should. Looking at the Alaska Knowledge Base and doing a search of "scope" brings up numerous "OPEN" issues with ADS however you indicate the this is not a problem with 1.9. Hopefully the workaround H0->(DBSEEK(H0->(DBSCOPE(SCOPE_TOP)))) will suffice until Alaska resolves the issue. Regards... Jonathan jonathan.leeming@the-family-centre.com Edmonton, Alberta, Canada | |
Jacob John | Re: Scope not working in xBase++ 2.0 - xBase 2.0.zip (0/1) - Scope.zip (0/1) on Thu, 19 Apr 2018 16:58:30 +0530 Hi Jonathan, Thank you very much for your reply. This application currently compiled in xBase 1.9 and running more than 150 client sites. And there are hundreds of SCOPEs in the application. So replacing DbSeek() instead of DbGoTop() is a practical solution. I have forwarded your reply to Alaska Software and waiting their reply. Regards Kiron On Wed, 18 Apr 2018 09:49:22 -0600, Jonathan Leeming wrote: >On 4/18/2018 5:17 AM, Jacob John wrote: >> Hi Jonathan, >> >> I am using DLLs from my ADS installation folder. >> >> I have created two separate independent samples with DLLs to showcase >> the issue. Please find the attached file. It contains two folders. >> Unzip this file to any machine which has ADS. Execute ADSTEST.EXE from >> both folders. Hope these files explains the problem. >> >> Regards >> Kiron >> >> On Mon, 16 Apr 2018 11:10:07 -0600, Jonathan Leeming wrote: >> >>> On 4/16/2018 12:49 AM, Jacob John wrote: >>>> Hi, >>>> >>>> I have a problem Scope in xBase++ 2.0. But it is working in 1.9 as >>>> expected. >>>> >>>> Please find the attached sample. >>>> >>>> >>>> I have given the message box to show the no. of records matching the >>>> scope. The first message box showing No. of Nationalities : 9, means >>>> there are 9 records which is the result of Set Scope To "01","01". >>>> >>>> Likewise the, for the second scope (Set Scope To "10","10"), there are >>>> 34 matching records. So it should show No. of Designations: 34. >>>> Instead of that it is showing No. of Designations: 0. That means the >>>> second scope is not working. This behavior shows in xBase++ 2.0 >>>> >>>> But second Scope will work if we close the table and reopen it. >>>> >>>> But it is working in 1.9 properly. >>>> >>>> Anybody facing this problem ? >>>> >>>> Regards >>>> Kiron >>>> >>> Hi Kiron, >>> >>> I use scopes extensively in an ADS environment with Xbase++ 2.0 without >>> issues. The only thing that I do differently is use the DbSetScope() >>> function but I suspect the Preprocessor converts the command or function >>> to the same underlying code. >>> >>> Is it possible that you are using different ADS libraries with 2.0 vs >>> 1.9. I always use the ace32.dll & axcws32.dll (versions 11.10.0.24 June >>> 23, 2015) from Advantage instead of the coresponding dll files that >>> Alaska has. >>> >>> Regards... Jonathan >Hi Kiron, > >I replicated the problem that you are having with the second scope. > >After setting the second scope followed by GOTOP() I found that: > 1) DBSCOPE(SCOPE_BOTH) returned {"10","10} as it should > 1) the record pointer was at LASTREC()+1 > 2) BOF & EOF were both True. >If I then switched back to the original scope the results were correct. > >I found that, as a work around, using: > > H0->(DBSEEK(H0->(DBSCOPE(SCOPE_TOP)))) instead of > > H0->(DbGoTop()) resolved the problem. > >Since I don't actively use tables bound to ADS dictionaries (all my >tables are "Free" DBF/FTP/CDX) I'm thinking that this is an issue with >Alaska's handling ADS dictionary tables. I just tried the equivalent >code with: > > DbeInfo( COMPONENT_DATA, ADSDBE_TBL_MODE, ADSDBE_CDX) > DbeInfo( COMPONENT_ORDER, ADSDBE_INDEX_EXT, "CDX") > DbeInfo( COMPONENT_DATA, ADSDBE_DICTIONARY_DATA, .F. ) > >At it worked as it should. > >Looking at the Alaska Knowledge Base and doing a search of "scope" >brings up numerous "OPEN" issues with ADS however you indicate the this >is not a problem with 1.9. > >Hopefully the workaround H0->(DBSEEK(H0->(DBSCOPE(SCOPE_TOP)))) will >suffice until Alaska resolves the issue. > >Regards... Jonathan |