Hello again My 5 year old kid did send this before I got it ready, So here goes again..
Would any FPC guru help me converting this C code? (it's from bn.h/libeay32.dll) typedef struct bignum_st BIGNUM; struct bignum_st { BN_ULONG *d; int top; int dmax; int neg; int flags; }; char *BN_bn2hex(const BIGNUM *a); I guess my problem is understanding pointers, and how they work. Tried something like this (did cut some checks & stuff to make it short): Unit bn; {$MODE DELPHI}{$H+} interface uses DynLibs; type bignum_st = record d:pointer; dmax:integer; neg:integer; flag:integer; end; BIGNUM = bignum_st; BNPtr = ^BIGNUM; var BnLibHandle: TLibHandle = 0; function InitLib: Boolean; function BN_Bn2Hex(const a:BNPtr):PChar; implementation Type TBN_bn2hex = function(a:BNPtr):PChar; var _BnBn2Hex: TBN_bn2hex = nil; function BN_Bn2Hex(a:BNPtr):PChar; begin _BnBn2Hex(a); end; Function InitLib:boolean; Begin LibHandle := LoadLibrary('libeay32.dll'); _BnBn2Hex := GetProcAddress( BnLibHandle, 'BN_bn2hex'); result := true; End; End. Left bits of the code out, and probably to much. But I hope you get the idea.. (memo to self: never get coffe while kids are alone at comp) Ole JR _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal