Hello All!
I have some troubles when starting external program from EXEC function in
real mode. It's posible when I specify $M parameter to large. I.e. if I want
to use dynamic memory and want to start external program i have troubles.
For example:
{$M 65520,0,150000}
Begin
Swapvectors;
Exec(GetEnv('COMSPEC'),'/C PKZIP AAA.ZIP AAA.TXT');
Swapvectors;
end.
Sometimes this program work not correct, i.e. PKZIP write that is all ok, but
the AAA.ZIP has CRC errors. It occurs under Win95 DOS session and under real
DOS when using QEMM. With EMM386 under DOS it not occurs. The error occurs
not always. There is a border, crossing which the errors begin. With small
parameters in $M - all ok.
I solute this program by using stack no nore 8kb and not using COMMAND.COM,
i.e. now my program looks so and working always, but way not workin'
evious?
{$M 8192,0,150000}
Begin
Swapvectors;
Exec('PKZIP.EXE','AAA.ZIP AAA.TXT');
Swapvectors;
End.
Maybe it's PKZIP error (PKZIP v2.06), but why it can be? I trying use PKZIP
v2.04. It's helps but not absolutely. I'm sure, that it not because of not
enought of memory. Because if so, PKZIP say about it ("Insufficent memory").
Paul
--- GoldED 3.00.Beta3+
---------------
* Origin: Horror BBS 7-343-2485773 EVERYNiGHT 01-07 (2:5080/130.3)
|