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