Page 1 of 1

Saving reports with DOSBox

Posted: Thu Jun 22, 2017 11:45 pm
by daleadmin
I received an email yesterday with a problem. When using either the regular "5. Reports" feature or autoreports if you chose to save a report as a file it would not work.

We eventually found that the problem was saving the reports to a different drive. So if you are using DOSBox you must save reports to the same drive as the one you are running DHPOS from. Do not change the drive letter.

Dale

Re: Saving reports with DOSBox

Posted: Sat Jun 24, 2017 11:25 pm
by Johann
Actually this is most likely not a problem nor is it a bug but rather a feature of DOSBox (and/or other emulators) combined with incorrect usage by the user:

When trying to perform any write actions (e.g. saving a file) in the emulator you must first be sure that the location (path) is accessible to the emulator.
If this location is not specified and is located outside the location you use and mounted for POS (e.g. C:\pos\) your emulator will not have access to it and so the program you run inside the emulator (pos.exe) cannot save to that location.

To make locations accessible you will have to mount them prior to running your software.
You can mount any location (local and/or network) and make it appear as a user specified location (virtual drive) in the emulator.

For example, most users will probably mount the folder containing pos.exe as C: and then in DOSBox at the c:\> prompt run pos.exe
Your actual physical folder can be C:\pos\ but when mounted as C:\ in DOSbox that folder will appear as your (virtual)ROOT-folder C:\
In this case anything outside C:\pos\ (any location other than C:\pos\ or a not a subdirectory of C:\pos\) is inaccessible to DOSBox

In theory you can mount as many locations (physical drives/folders/network locations) as letters in the alphabet to drives in DOSBox (excluding only Z: since it's reserved by DOSBox)
Also remember that when in DOSbox and you want to save anything, use the PATH you mounted that location to in DOSBox and not the path to the actual physical location.

For example if the actual windows folder you want to save to is D:\mysavedfiles\ and you mount this in DOSBox as H:\ , the PATH you should specify in the program you run in DOSbox should point to H:\
After saving, your saved file can be found in the physical location in windows D:\mysavedfiles:\

The 'problem' as described to Dale and posted in first post has nothing to do with DHPOS, which does exactly what it should.

Additionally when you mount locations to (virtual-)locations in DOSbox make sure DOSbox has permission to read and/or write to that physical location (run DOSbox in Administrator mode or manually set the permissions of the physical location to read and/or write), since some folders might be protected by Windows (e.g. your Windows and/or Program Files folders).

For more info on how to mount locations correctly in DOSbox you can refer to the DOSbox-wiki:
https://www.dosbox.com/wiki/MOUNT
The basic principle of mounting will be similar in other emulators, although some might use a different command for mounting, read your preferred emulator's documentation for more specific info.