[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Re: Memory problems?



Reply to note from Harry Binswanger  Sun, 08 Sep
2002 14:07:13 -0400

Harry:

TEST.TXT wasn't attached, but it's clear without even seeing it that
you're breaking the memory bank. The 7K block of text you're trying
to stuff into S/G 01 is too big, as evidenced by the Greek char that
ends up there in its place -- Xy's way of telling you that you
didn't "put it in". In my experience, anything larger than 4 or 5K
is iffy, depending on current memory usage.

XPLeNCODE v2.0
b-gin [UNTITLED]
(A test for this out of memory phenomenon is:[cr|lf][cr|lf][T
F_][DF_][BF_][DF_]{<}SV01{>}{<}IF{<}VA|01{>}<>{<}VA$DN{>}-{<}
VA$DS{>}{>}{<}PROut of memory!{>}{<}EX{>}{<}EI{>}...[cr|lf][c
r|lf]In other words, if the length of S/G 01 after {<}SV01{>}
 doesn't equal the length of the DF block, the operation fail
ed. Also, by the way, that subsequent func RD isn't healthy;
 you're adding 7K to undelete buffer in addition to the 7K yo
u're trying to add to the Save/Get buffer. Use func DN (Dele
te-No undelete) instead, which deletes the block without putt
ing it into the undelete buffer.)[cr|lf][cr|lf]
-nd
XPLeNCODE

You need a workaround. Since I don't know what your ultimate use
for this procedure is, I can't say for sure what would be
appropriate. If all you want to do is put the contents of TEST.TXT
at the cursor position, why not simply MErge it? If you need to
manipulate the contents of that file, then perhaps you could use
editing functions to do so, DeFine the entire file as edited, CoPy
it to the cursor position (func CP) and ABort the file (if you don't
want to write changes to TEST.TXT to disk). If you absolutely need
to manipulate the file contents in memory, then you'll have to break
it up into manageable segments, operate on one segment at a time,
and then reconstruct the results.

I hope this helps.

Carl

--
Carl Distefano
cld@xxxxxxxx
http://users.datarealm.com/xywwweb/