14 Sep 95 03:05, Dave Wakefield escrib¡a a All:
Hola Dave!
DW> Is there any reason I shouldn't be able to shell to an
DW> executable program from a tsr programmed in Power Basic?
Yes, (I'm not sure about this) when PowerBASIC starts a TSR it follows this
steps:
a) Your code may be reduced due to a less EMS/Disk use.
b) Save actual interrupt table
c) Swap from conventional memory to EMS/Disk
d) Reduces the program heap to 5 K's +/-
e) Shells to DOS
At this moment all memory -5 K's is available for your program. If you
invoque the TSR, PowerBASIC follows this steps:
a) Restore all interrups, previously saved (This means that a TSR loaded
after
the PowerBASIC TSR start will be disabled)
b) Swap the amount of memory needed to restore your program with the
MS/Disk
previously saved information in step 'c'
c) Continues with the TSR execution.
If you at this moment try to shell to DOS, the DOS memory blocks will be
corrupted, this is the reason because you neither can make grow the
PowerBASIC heap more that the size you have selected in step 1.
You can experiment with a 3er party shell, that performs a swap when you
shell to DOS. You probably get a hang when try to load COMMAND.COM.
DW> Running the TSR version, it always gets an ERROR 5 at the SHELL
DW> statement. The manual is rather vague about what it means, saying,
DW> basically, that something is wrong. Anyone got any ideas?
I think this is a error condition that prevent possible hangs. Dave Navarro,
can you confirm this theory ?
Saludotes,
,,, JOS (2:348/102)
`0-0' jmejuto@encomix.com
/-(_)-\ mejuto@sfdzuma.usc.es
--- FD2.12+ & GoldED 2.50+ & FE145+
---------------
* Origin: -=EDI=BBS=-// Santiago de Compostela //+34-81-502110 (2:348/102)
|