|
Post by charlie on Apr 14, 2021 15:22:07 GMT 1
Hi All,
I work at a company where we use a DOS based system. Due to this we are limited to windows 7 32 bit PC's for a lot of the data entry terminals throughout the factory.
However, seeing this i thought it would be a great way to get the application working on windows 10 so we no longer needed those old machines. As we are now printing to normal printers using printfil, this is the final hurdle.
I don't have alot of knowledge of coding & even less with DOS.
I have downloaded VDOS to my machine and copied over the application & the batch file that starts it. I tried the suggested method of starting to no avail. I have opened the batch file in notepad & have the below.
@echo off
btrvclr >nul
btrieve /p:4096 /m:64 /f:55 /b:32 /u:4 >nul
tas clrmem
btrvclr >nul
cls
I wondered if this was something you've seen before & if so how i may be able to get it to start in VDOS.
Many thanks,
Charlie
|
|
|
Post by Jos on Apr 14, 2021 16:12:51 GMT 1
Copy autoexec.txt and config.txt to the directory the batch file is located in. Replace the contents of that autoexec.txt with that of the batch file, remove (those lines are useless): @echo off btrvclr >nul btrvclr >nul cls
Change the Btrieve startup to: btrieve /p:4096 /m:64 /f:55 /b:32 /u:4 /e
Add two last lines: PAUSE EXIT
The PAUSE is just to see what eventually goes wrong and can be deleted later on.
Change the vDos desktop shortcut: Start in Directory = Directory where autoexec.txt, config.txt and the batch file are located.
First try to use the vDos built-in print processor before the PrintFil roundabout.
Jos
|
|
|
Post by charlie on Apr 19, 2021 13:41:00 GMT 1
Hi Jos,
That worked great. Program now starts up!
However, it doesn't appear to be linking to the data stored on the system.
I've put vdos into the same directory as where the original batch start up files are and created a shortcut that is on my desktop.
The DATA is stored in the same drive & location but in a separate folder. This works fine for the batch file starts up and the user gets the login screen. But with vdos just says "file not active line #23" if i enter through i go into the area we call the "back end" of the program where i can look at the databases & alter set up etc.
Kind Regards,
Charles
|
|
|
Post by Jos on Apr 19, 2021 14:33:34 GMT 1
Start vDos with the log option: Change the properties of the shortcut for the Target field to end with /log, so ….vDos.exe /log.
When you now start vDos and your app, a vDos.log file will be created. That will report what you app is trying to open, but fails because it probably expects another drive letter or directory path.
Jos
|
|
|
Post by charlie on Apr 19, 2021 14:49:56 GMT 1
Hi Jos,
Got the below code. Just keeps repeating the OpenFile failed. Not sure what i need to change to correct this.
vDos 2020.03.01 C: => (Remote) \\10.0.0.253\tasnt\TAS30\
0.07 Execute: btrieve.EXE - /p:4096 /m:64 /f:55 /b:32 /u:4 CPU switched to strict memory mode
Execute: tas.EXE - clrmem Int 24 => 199:6980 Record locking verified for DOS C: Int 24 => original Int 24 => 199:6980 Int 24 => original Int 24 => 199:6980 OpenFile failed: TAS30\DATA\$ERRORS.M(3) => \\10.0.0.253\tasnt\TAS30\TAS30\DATA\$ERRORS.M(3) Int 24 => original Int 24 => 199:6980 Int 24 => original Int 24 => 199:6980
Many Thanks,
Charlie
|
|
|
Post by Jos on Apr 19, 2021 15:02:04 GMT 1
First add a last /e switch to the command line of BTRIEVE.EXE. So BTRIEVE won’t locate its stack in EMS, forcing vDos to switch the emulated CPU to a slower operating mode (strict memory mode).
Your app tries to open TAS30\DATA\$ERRORS.M while the current DOS working directory is Windows \\10.0.0.253\tasnt\TAS30\. I guess DOS C: should refer to Windows \\10.0.0.253\tasnt\ (w/o TAS30), so add this first line to autoexec.txt to step up one directory level:
USE C: ..\
Jos
|
|
|
Post by charlie on Apr 19, 2021 15:49:10 GMT 1
USE C: ..\\10.0.0.253\tasnt\TAS30 : C:\vDos
btrieve /p:4096 /m:64 /f:55 /b:32 /u:4 /e
tas clrmem
EXIT
I think i've got the code completely wrong. Apologies i am a complete novice. How should i have the location set?
|
|
|
Post by Jos on Apr 19, 2021 16:19:56 GMT 1
If autoexec.txt is located at \\10.0.0.253\tasnt\TAS30\:
USE C: ..\
Although, how would it then find BTRIEVE.EXE and TAS.EXE? You would have to also include a PATH=C:\TAS30.
Eventually post your Windows 7 autoexec.nt file, and details of how the batch file was started, where it was located, and what Windows drive letters were mapped.
Jos
|
|
|
Post by charlie on Apr 21, 2021 12:05:27 GMT 1
autoexec file USE C: ..\\10.0.0.253\tasnt\TAS30 : C:\vDos
PATH=C:\TAS30
btrieve /p:4096 /m:64 /f:55 /b:32 /u:4 /e
tas clrmem
EXIT
Current windows 7 start up batch file code @echo off
btrvclr >nul
btrieve /p:4096 /m:64 /f:55 /b:32 /u:4 >nul
tas clrmem
btrvclr >nul
cls
Hi Jos,
Still the same issue. Autoexec & current/old start up batch file attached above.
The shortcut/ batch file that works on a the windows 7 32 bit PC. Is located in the following path
Shortcut located at: (10.0.0.253) >tasnt>TAS30. Drive letter is X
Data is located in : (10.0.0.253) >tasnt>TAS30>DATA Drive letter is X
Many thanks, Charles
|
|
|
Post by Jos on Apr 21, 2021 12:27:48 GMT 1
Assuming X: is mapped to \\10.0.0.253\tasnt, and the current/old batch file and autoexec.txt are located in \\10.0.0.253\tasnt\tas30 (X:\tas30), change autoexec.txt to:
USE X: ..\ X: CD tas30 btrieve /p:4096 /m:64 /f:55 /b:32 /u:4 /e tas clrmem PAUSE EXIT
That would then give you the same environment as before running the batch file with Windows 32 bit.
Jos
|
|
|
Post by charlie on Apr 21, 2021 14:01:28 GMT 1
Hi Jos,
Thanks for your help it works now. That is a real game changer.
Prints well too. Just one question how do i increase the font size for printouts?
Many Thanks,
Charlie
|
|
|
Post by Jos on Apr 21, 2021 14:09:28 GMT 1
Normally a DOS app sets that by the printer command CPI (characters per inch). If your app doesn’t have this option, you would have to use the HORZ: and VERT: options of vDos to scale and position the printout. See the Printing.pdf document for these.
Jos
|
|