vaCapture DataFinish Packet Length (Not String)

Is it possible to use the vaCapture component with a start string, but with a fixed packet length instead of a finish string?

This is something that's commonly done with the AsyncPro TApdDataPacket and would be a worthwhile addition to vaCapture in my opinion.

The data packets I'm receiving are all the same length and start with the same string.  The end character is a checksum so is not constant.

Did you try by not specifying VaCapture.DataFinish but specify VaCapture.MaxMsgLen?

No I didn't.  I read the documentation but got the impression that property was something to do with the buffer size.  I'll try that today.  Thanks.

I can't get that to work at all. Has it actually been tested to work that way?

We've investigated this deeper and saw an issue with this approach. We'll introduce it as a property to have the capability for a fixed message length. The next update will have this.

OK, thanks for that.  I look forward to testing it.

On a related note, is it possible to have more than one vaCapture connected to a vaComm component?

The reason I ask is that for another application there could be more than one type of packet arriving.  Each would have a different datastart string and packet length.

It should be possible to attach multiple vaCapture instances.

Any chance this update can be released soon please?

We'll try to plan this for first week of Sept.


I'am using the V2.10 version of VCL Async :

I try to use the TVaCapture component with TVaComm component and it works correctly
With Character detection.
        TVaCapture configuration :
              DataFinish         : 8
              DataFinishCase : dcCaseSensitive
              DataFinishType : dtString
              DataFixedLen    : -1
              DataStart           : 1
              DataStartCase  : dcCaseSensitive
              DataStartType : dtString
              DataType          : daString
So when i receive ? 12345678 ? i find in the Data buffer ? 23456 ? it?s ok
But now i would like to receive the same data in binary mode, so i program this
New configuration :
        TVaCapture configuration :
              DataFinish         : 
              DataFinishCase : dcCaseSensitive
              DataFinishType : dtString
              DataFixedLen    : 7
              DataStart           : #31
              DataStartCase  : dcCaseSensitive
              DataStartType : dtExpression
              DataType          : daBinary
Now when i receive ? 12345678 ? the Data buffer is empty (NULL), where is my error ?
And is it possible in binary mode to receive data with 0 (zero) Inside ?
      Thank you for your help.

You sent the same question by email.

We have replied to your email.

Still waiting for an update please so I can continue on with this project.

You set DataStart = #31 but I assume you sent the character sequence 12345678 so I would expect that VaCapture.DataStart = #49

Your reply seems to be to the person who crashed my thread?

I'm asking if there will be an updated release of the Async components soon.

The latest release is v2.1 from November last.

This latest release has all latest improvements.
Ah, I see that now.  For some reason in "My Products" it shows:

Latest available release (Friday, April 28, 2017)

Further down the page it does list the newer version:

Latest registered version

Monday, November 26, 2018