[Lazarus] Newbie, porting class to FPC but get procedure assignment error

patspiper patspiper at gmail.com
Mon Jun 22 08:16:20 CEST 2015


On 22/06/15 02:00, Bo Berglund wrote:
>
> I just made a first test by adding the object to my main form as a
> private variable.
Which object? Better show the code.
>   It is created in the form.create event.
> I added a button and a static text control on the form and in the
> button event I added the code to initialize the dongle and read its
> serial number.
> When I stepped through the code I reached the first call to the driver
> via the obj file I get an exception when calling RNBOsproFormatPacket
> in this function, which is in the SPROMEPS.pas file supplied by
> SafeNet:
>
> FUNCTION SproInitialize( ApiPacket : RB_SPRO_APIPACKET_PTR ) : WORD;
> VAR
>      returnVal : WORD;
> BEGIN
>      returnVal := RNBOsproFormatPacket (ApiPacket,
> RB_SPRO_APIPACKET_SIZE);
>      IF returnVal <> SP_SUCCESS THEN
>         SproInitialize := returnVal
>      ELSE
>         SproInitialize := RNBOsproInitialize (ApiPacket);
> END; { SproInitialize }
>
> Exception text:
>
> "Project DongleTest raised exception class
> 'External: SIGSEGV'."
The 1st thing that comes to mind is that spromeps.obj is 32 bit and your 
Lazarus/fpc and Windows are most probably 64 bit. But I am not sure how 
the compiler/linker would react to that.

You had posted previously:
Input file: SPROMEPS.obj, output file: SPROMEPS.coff
Converting from OMF32 to COFF32 <--------------------------------
Not adding or removing underscores for this filetype
Warning 1211: 270 comment records ignored

Do you have a 64 bit version of spromeps.obj?

Stephano




More information about the Lazarus mailing list