I put the function in a for loop and passed I as the size paramater until it succeeded,
the size of the structure it expects is 40. 40 is equal to GetMem(sizeOf(SSLPROTOCOLS) + (2) * sizeOf(SSLPROTOCOL)); so protocols := LPSSLPROTOCOLS(GetMem(sizeOf(SSLPROTOCOLS) + (2) * sizeOf(SSLPROTOCOL))); but the size of protocols^ is always 16 no matter what I put in GetMem. (16 is the size of SSLPROTOCOL on its own) How do I now GetMem for protocols^.ProtocolList. //protocols^.ProtocolList := (GetMem((2) * sizeOf(SSLPROTOCOL)));//Error: Incompatible types: got "Pointer" expected "Array[0..0] Of SSLPROTOCOL" Thanks On Sun, Feb 24, 2008 at 12:31 PM, Bram Kuijvenhoven < [EMAIL PROTECTED]> wrote: > Sooky Boo wrote: > > On 2/23/08, ik <[EMAIL PROTECTED]> wrote: > >> {$PACKRECORDS C} > >> > >> On Sat, Feb 23, 2008 at 5:59 AM, Sooky Boo <[EMAIL PROTECTED]> wrote: > >>> > >>> Please help I am unsure how to port from C++ to fpc this code. > >>> The function this must be passed to says that the structure pointer or > >> size > >>> is invalid. > >>> > >>> ----C++---- > >>> > >>> typedef struct _SSLPROTOCOLS { > >>> DWORD dwCount; > >>> SSLPROTOCOL ProtocolList[1]; // array of 'count' structures > >>> } SSLPROTOCOLS, FAR *LPSSLPROTOCOLS; > >>> > >>> ----My Attempt FPC Delphi Mode---- > >>> > >>> type SSLPROTOCOLS = record > >>> dwCount :DWORD; > >>> ProtocolList : array[0..0] of SSLPROTOCOL; // array of 'count' > structures > >>> end; > > > > Unfortunately still doesn't work :( > > The actual size of the SSLPROTOCOLS struct/record should match the value > of dwCount. Allocating such a record probably should go like > > LPSSLPROTOCOLS(GetMem(sizeOf(SSLPROTOCOLS) + (dwCount - 1) * > sizeOf(SSLPROTOCOL))) > > Sometimes a dummy record is to be appended at the end of the array, > similar to the null character at the end of a null-terminated string. In > that case it is possible that this 'sentinel' record is not counted in > dwCount, but you should still allocate the space of course. Please refer to > the documentation of the header file (I hope there is). > > I hope this helps. > > Regards, > > Bram > > _______________________________________________ > fpc-devel maillist - fpc-devel@lists.freepascal.org > http://lists.freepascal.org/mailman/listinfo/fpc-devel >
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel