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

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to