>>>>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?
We use the Progress Bar in the comctrl32.ocx
Glenn