Sharing a binary specification with VB?


I have a DLL application that handles the creation of batches into high-end
financial applications (such as Great Plains Dynamics CS+), so that our
custom programs only have to pass a memorystream or file to the DLL and the
system will post the batch in the program.

Here's my problem, one of the available structures is as follows:

pascal declaration:
 TBatchEntry = record
    BatchNumber : Integer;
    BatchComment : String[40];

VB  declaration
type BatchEntry
   BatchNumber As Integer
   BatchComment As String * 40
End Type

However in VB an integer has a 65K range while in Delphi an integer range is
Also the storage required to store 40 chars in delphi as opposed to VB is
much less, so the file is dramticlly different in VB that in delphi.

I was wondering if there is someway to have a record type that can be
written to a file that is compatible with both?