|
Post by scotx on Aug 18, 2023 5:51:03 GMT 1
Thanks Jos, I forgot to write in my original message that I was working with:
CONFIG.txt FPUAWARE = 2
No PRECISION setting No NEAR setting
I set the FPUAWARE = 0 and the code is working correctly
|
|
|
Post by Jos on Aug 18, 2023 8:54:36 GMT 1
FPUAWARE= still accepts 0, 1, 2 and 3. But only FPUAWARE=0 (disable FPU) is effective since version 2023.05.01.
Jos
|
|
|
Post by Jos on Aug 20, 2023 9:41:21 GMT 1
Found the bug. It was indeed fixed in the 2019 version, however resurfaced in version 2022.
I don’t expect it of concern to other applications than dBase IV. That just uses some weird logic to test binary (!) values, converting those first to floating point, then to packed BCD.
Noticed dBase IV displays at startup copyright/license information for 1-2 seconds. This is always done, and could be bypassed?
Jos
|
|
|
Post by scotx on Aug 21, 2023 15:51:36 GMT 1
Found the bug. It was indeed fixed in the 2019 version, however resurfaced in version 2022. I don’t expect it of concern to other applications than dBase IV. That just uses some weird logic to test binary (!) values, converting those first to floating point, then to packed BCD. Noticed dBase IV displays at startup copyright/license information for 1-2 seconds. This is always done, and could be bypassed? Jos Good news :-) Jos. If I want to use the fixed version, are you able to supply it or is it something that will only be supplied in the next major release of vDOS? Are you asking if we want to bypass the dbase copyright information displayed? (I would say yes, though I must admit that I don't notice the dbase IV information being displayed) or are you asking the forum on information on how to bypass the copyright information displayed. scot-x
|
|
|
Post by Jos on Aug 21, 2023 17:00:37 GMT 1
I’ll send you a fixed version. That is however my development copy, once to become the next version. I’m however in the process of debugging and testing an unrelated issue. So it will take a few days before I can actually send a ready-to-run copy.
By change I stumbled last week upon the reason of dBase V slow startup. So I added a bypass of the silly 1-2 second routine that causes this.
Starting dBase IV, I was now constantly annoyed by the copyright information and the also a 1-2 second delay. And wondered if it was only my dBase IV copy, or to bypass that also.
Jos
|
|
|
Post by scotx on Aug 23, 2023 14:34:46 GMT 1
Got the new file. Works a treat. Will continue testing for the next two weeks. If all goes well, we will be ordering two network licenses. One for production and one for test.
scot-x
|
|
|
Post by frog on Sept 8, 2023 4:37:48 GMT 1
I’ll send you a fixed version. That is however my development copy, once to become the next version. I’m however in the process of debugging and testing an unrelated issue. So it will take a few days before I can actually send a ready-to-run copy. By change I stumbled last week upon the reason of dBase V slow startup. So I added a bypass of the silly 1-2 second routine that causes this. Starting dBase IV, I was now constantly annoyed by the copyright information and the also a 1-2 second delay. And wondered if it was only my dBase IV copy, or to bypass that also. Jos Hello Jos, Can I have this fixed version. We are working with dBase IV too. Gabriel.
|
|
|
Post by frog on Sept 8, 2023 15:46:39 GMT 1
Thanks Jos! I have received the file.
|
|
|
Post by jamesb52 on Sept 30, 2023 9:55:08 GMT 1
Forgive me for commenting, but this is one of the issues that used to drive me crazy working with dBase on large projects. It's a known issue. The problem is the limited math skills of dBase, and its limited space for handling complex math. I shifted to SharkBase to solve these issues when working with large files with hundreds of thousands, or even millions, of records (medical statistics, for example). Here's a simple SharkBase recno() counter example (running on vDOS) that correctly stores 500,000 recno() records in less than a minute:
use#1 bigfile writ◄ *bigfile stores recno() in a 6-character field 500,001 times◄ on escape◄ cancel◄ endon◄ *◄ go top◄ n=1◄ cls◄ do while n<500001◄ appe blank◄ n=n+1◄ @ 1,5 say n◄ mrecno=recno()◄ repl num with str(mrecno,6)◄ skip◄ enddo◄
|
|