|
Post by baronsoftware on Jan 8, 2020 1:26:38 GMT 1
I have a Windows 64 Bit machine that I am attempting to use SHELL to go out to the VDOS.EXE on a network drive. The issue is that the drive mappings do not take place based on my autoexec and i have a internal batch job that does the mappings.
If i run VDOS by itself, the DOS application works.
When i had the Windows application use Shell all i saw a C prompt. What i needed to do was set up another Batch job that does the mappings, hides itself and then the DOS application starts up with VDOS.
What am i doing wrong or is that the way it works ?
|
|
|
Post by Jos on Jan 8, 2020 11:42:39 GMT 1
You have vDos.exe, autoexec.txt and config.txt in \\server\share\<some dir>, when you double click vDos.exe the DOS application starts, though not if you use Shell from within the Windows application?
Autoexec.txt and config.txt are expected in the Windows Current Work Directory, and that won’t be set to \\server\share\<some dir> by the Shell command (as Windows Explorer does). So you either have to set that before starting vDos, or copy autoexec.txt and config.txt to the actual Windows Current Work Directory at that moment.
Jos
|
|
|
Post by baronsoftware on Jan 8, 2020 18:03:04 GMT 1
What i finally ended up doing is
1. In the 64 bit windows application, shell to a DOS batch. 2. A menu option is checked which calls the correct VDOS menu and brings up DATAFLEX.
So that is working fine, i can do lookups and so on.
Is there any method of sending parameters into VDOS from the BATCH job ? I want to reduce the amount of batch jobs to open up separate DATAFLEX Forms.
Finally, i noticed that i can do any type of lookup or anything else with the exception of saving a modification. Is there something i am not setting up in my Autoexec ?
|
|
|
Post by Jos on Jan 8, 2020 18:25:30 GMT 1
Since there’s no DOS in Windows, you would shell to the Windows command line processor (CMD). That would then process the batch file, and start vDos.
If you want to pass on something to vDos.exe, append that to the command line (e.g. vDos.exe parameters). Or set the Windows environment variable VDOS (e.g. SET VDOS=parameters) before starting vDos. Both have the same effect: The DOS/vDos environment variable WIN_VDOS will be set to parameters.
Don’t know what you mean with “saving a modification”. Changes in DATAFLEX are not saved? Could be a (write) permission issue of the network share, though then DATAFLEX should complain not able to write to disk. You could start vDos with the /log option (e.g. ...vDos.exe /log). The generated vDos.log file could reveal why “saving a modification” doesn’t work.
Jos
|
|
|
Post by baronsoftware on Jan 8, 2020 22:16:53 GMT 1
Yes, I am shelling out using the Shell command in VB.NET so that is working.
The /Log is great and that pointed out some Dataflex issues, looking into that.
Going to try the VDOS Parameter.
|
|