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

Reply via email to