| View previous topic :: View next topic |
| Author |
Message |
marty Professional Member


Joined: 10 May 2001 Posts: 789
|
Posted: Wed Sep 10, 2008 5:05 pm Post subject: @item() buffer/size limit |
|
|
Hi,
Quick question, is there a limit of the size/buffer of the variable @item()?
I have an XML message that has 22kb thateverytime VDS tries to take it from a clicked list event (%%main = @item(LIST1) it crashes (VDS IDE) with the following error:
Error: Unhandled execption in "EStringListError" ...
Is there a way around this?
Bit rusted with VDS, but I am doing a quick app for the job here.
Using VDS 5
Thanks
Martin |
|
| Back to top |
|
 |
DaveR Valued Contributor


Joined: 03 Sep 2005 Posts: 413 Location: Australia
|
Posted: Sat Sep 13, 2008 4:19 pm Post subject: Re: @item() buffer/size limit |
|
|
| marty wrote: | | Quick question, is there a limit of the size/buffer of the variable @item()? |
If there is it's not 22KB. I just tested using VDS 5 and @item() worked fine until I gave up testing at well over 250KB.
While testing your problem by using info @item() I did find that info stopped working at 217KB. At 216KB and below info worked fine. At 217KB and above the IDE just skipped the info line.
Interestingly info in VDS 6 works up to 223,030 bytes. But in VDS 5 info only works up to 222,610 bytes. At least that's how it is on my PC. The amount of available memory may play a part. In which case we need to be careful when using 'info' in scripts that are intended to be used by other people or on other PCs.
| Code: | # This will skip the INFO line, but change Qty to 1 less and info pops up ok
if @equal(6,@sysinfo(dsver))
# VDS 6 info works up to 2123 - 223,030 bytes
%%Qty = 2124
else
# VDS 5 info works up to 2119 - 222,610 bytes
%%Qty = 2120
end
%x = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx @cr()
%%Cnt = 1
repeat
%x = %xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx @cr()
%%Cnt = @succ(%%Cnt)
until @greater(%%Cnt,%%Qty)
%x = %x@cr()Tada!!!
list create,1
list add,1,%x
list seek,1,0
%i = @item(1)
# No info popup if %i is larger than 217KB
info %i ,
list savefile,1,C:\Tmp\VDS\item-test.txt
list close,1
stop
|
_________________ cheers
Dave |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You can attach files in this forum You can download files in this forum
|
|