|
Post by Jos on May 1, 2023 8:56:52 GMT 1
|
|
|
Post by herman on May 1, 2023 13:39:34 GMT 1
I am working with dBase 5 with much self writing applications in the past years The new version off vDos give me errors like not enough diskspac for operation with creating index files but there are also timing problems and not delete files on places were that always was going good with older versions of vDos with batch files Later (I have now not much time) I try to create detailed reports Herman Attachments:vDos.log (54.36 KB)
|
|
|
Post by lynntg123 on May 4, 2023 20:02:46 GMT 1
I am having the same issue. When I try to sort or reindex, even a tiny file, I have an error “not enough disk space for operation”. I've tried everything, even contacted our hardware team. Thank you for any help!
|
|
|
Post by Jos on May 4, 2023 20:42:15 GMT 1
That will be caused by this change: DOS API 21-36h (Get free disk space) returns 1.9 GB free space instead of 123 MB.
123 MB was once chosen because one or two real ancient programs choked on anything above 127 MB. Some programs like FoxProX 2.5/2.6 and those using the Paradox engine were already given a different amount. As two more program were reported to require more than 123MB, instead of more program ‘fingerprint’ testing, I decided to just always return a larger amount, and await if that would actually cause problems.
1.9 GB seemed logical since DOS supports file sizes up to 2 GB. Although 1.9 GB is still an unsigned 32 bit value, it seems dBase miscalculates the free disk space, returned by the registers AX (sectors per cluster), BX (number of free clusters) and CX (bytes per sector). I never used dBase, can you submit some basic program that demonstrates this miscalculation?
Jos
|
|
|
Post by lynntg123 on May 5, 2023 15:06:32 GMT 1
In dbase, you can execute commands "at the dot". So I tried a simple command:
. use <filename>
. index on <key1> to temp
And got the error, just a tiny little file. It also happens with the sort command. If I can have access to the prior version I would be happy with just that!? I googled it looking for it but can't find it.
Thank you for your quick response!
|
|
|
Post by Jos on May 5, 2023 16:30:48 GMT 1
dBase calculates the free disk space by:
AX*CX (=> DX:AX), then AX*BX
So DX is just ignored in the second multiplication. If DX however is not 0, some random value will be the end result. With AX=80h and CX=200h, as returned by vDos, even 0!
I lowered the bytes per sector by 16 and uploaded a new vDosSetup.exe.
Jos
|
|
|
Post by lynntg123 on May 5, 2023 17:09:49 GMT 1
Thank you so much it is working!!! I am getting another error in another program, it might have to do with printing?
Vdos exception
Program tried to resize MCB block BF
Do you have any idea what might be causing that?
|
|
|
Post by Jos on May 5, 2023 18:48:06 GMT 1
It means the program tried to resize the Memory Control Block located at BF:0h. But no MCB exists at that address, in fact the first DOS MCB is at D8:0h.
Resizing MCB’s is mostly for de-/re- and allocating DOS memory. I suspect the program wants to swap itself out of memory, leaving only a core portion to reload/restore after a second program is loaded and executed.
Though no idea how the program came to that invalid MCB address. I checked INT 21-52h, and that returns the correct address of the first MCB (D8:0).
Jos
|
|
|
Post by modelo64 on May 5, 2023 20:03:25 GMT 1
Jos: In February 2023 you sent me a modified version of vDos to support RM-Cobol, not fully tested by users, remember?
Question: does this new version include the modifications you made in February for RM-Cobol? Thank you! > modelo64
|
|
|
Post by Jos on May 5, 2023 20:29:59 GMT 1
It should, though you can of course just test that...
Jos
|
|
|
Post by modelo64 on May 5, 2023 21:07:31 GMT 1
I will do!
Regards!
> modelo64
|
|
|
Post by herman on May 7, 2023 12:15:16 GMT 1
Thank you Jos for the memory correction.
The indexes will be recreated with version "06"-05-2023; however, there are still problems with the size of indexes. Here I mean how many characters can be indexed For example, with Version 09-03-2022 indexing on 100 characters (also dBase 5.0 max.) is possible, while in vDos version 01-05-2022 and 06-05-2023 it is significantly lower so as not to get a message about not enough memory (I have not tested the exact limits here) For me is that no problem because functionality was not adversely affected.
The problem of deleting files in a started batch file after a line with dBase BDL.EXE run is still present. Before vDos 01-05-2023 there was no problem In this post attachment vDos log sent and testfiles and the dBase memory usage in 1 application of mine, from different vDos versions. I use the latest version dBase5.0xx58
Herman
|
|
|
Post by Jos on May 7, 2023 13:03:29 GMT 1
You forgot the attachment?
Jos
|
|
|
Post by herman on May 7, 2023 19:10:45 GMT 1
I did not foorgot; but if I do I see nothing is hapening after click the button done
|
|
|
Post by herman on May 7, 2023 19:12:16 GMT 1
|
|