SV: [fpc-pascal] Resending: Trying to convert some C code
Ole J. Røtne
ole.rotne at online.no
Tue Nov 7 13:24:27 CET 2006
Thanks for the replies
> -----Opprinnelig melding-----
> Fra: fpc-pascal-bounces at lists.freepascal.org
> [mailto:fpc-pascal-bounces at lists.freepascal.org] På vegne av
> Henry Vermaak
> Sendt: 7. november 2006 12:19
> Til: FPC-Pascal users discussions
> Emne: Re: [fpc-pascal] Resending: Trying to convert some C code
>
> i'm no guru, but here's a couple of things that you might try:
>
> {$PACKRECORDS C} to make sure about that struct (gives me
> problems on osx if i don't use it)
Ok, trying that.
> > BN_ULONG *d;
> what is BN_ULONG? make sure it's the same size of:
> > d:pointer;
BN_ULONG is just another way of saying unsigned long.
But redefined because it's C & for different compilers/platforms i think.
> you forgot the calling convention here:
> > Type
> > TBN_bn2hex = function(a:BNPtr):PChar;
> should have cdecl?
Have it, but typing error :-S
> > LibHandle := LoadLibrary('libeay32.dll');
> > _BnBn2Hex := GetProcAddress( BnLibHandle, 'BN_bn2hex');
>
> i assume that LibHandle should be BnLibHandle? what are the
> errors you get?
Yes it is.. Was typing this abit to fast after my kid sent the first before
i was done.
And my code does compile, but bomb with a unhandled exception when i use the
function.
That made me wonder if my parameters to the function was converted right..
As in, is this right "way" to convert parameter & return value..?
char *BN_bn2hex(const BIGNUM *a);
function BN_Bn2Hex(a:BNPtr):PChar; // here BNPtr is of type BNPtr:^BIGNUM
> to get the general idea, see:
> http://community.freepascal.org:10000/docs-html/prog/progse53.
html#x240-24300012.3
Will take a look..
Ole JR
More information about the fpc-pascal
mailing list