Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Why my memo field become 21M long?
Message
From
04/02/1997 09:52:36
F Joseph
Xinjiang Electric Power Company
Urumqi, China
 
General information
Forum:
Visual FoxPro
Category:
Third party products
Miscellaneous
Thread ID:
00019120
Message ID:
00019210
Views:
35
>>>I write a app that recieve serial port data into a table
>>>by MSCOMM32.OCX.
>>> I use a memo field to save data what recieved , and per record is 100K long about,but when i have recieved 5 records , i find it's become 21M long!!! (the FPT file of this table) I don't know what is happend. or memo field has some fix block for saving data, they are fix long,and whatever they are used ?
>
>In addition to what Craig has said, here is the end portion of some tests we did
>trying to resolve the same issue.
>
>
>
>data table=test
>1 memo field name test
>1 record in place
>
>Test 4:
>
>REPL TEST WITH ‘‘
>PACK
>fpt size is 512
>
>for i=1 to 11776
> repl test with test+’*’
>endf
>
>len(test)=11776
>fpt size is 1,101,632
>
>PACK
>fpt size is 12,352
>Overhead of Replace + command is 1,089,280 in diskspace !!!!!!!
>
>Conclusion:
>If this were happening only during program execution, we might assume that a buffering effect
>was causing the memo field to grow. Since it also happens in manual, single line execution, we
>are going to assume that the replace test+ command is the cause. FoxPro may retain a portion
>of the memo field on disk, causing the growth.
>
>Further tests showed that the most conservative use of diskspace is to capture incomming
>communications to a variable. When the variable reaches 16K in size, write the data to a
>memo field for safety. Continue this pattern until the communication is completed, write the
>final variable data to the memo field.
>
>Use replace field+data in memo fields very conservatevly, infrequently.

I have tried it, and it works, thank you.
two way:

1. use a text file (function fcreat(),fwrite()) save the data of communication.
and put it into a memo field when the communication is completed.
2. use a variable save it ,but it limit 16K in size .


where can i get a thermometer VCX for display my communication recieve process?
--------------------------------------------------------------------
Best regards,
f.joseph
xinjiang electric power company
Tele : 86-0991-2920415
E-Mail : net0040@public.wl.xj.cn
mail address: jian she lu st. 10
urumqi,xinjiang province,republic of china
zip: 830002
--------------------------------------------------------------------
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform