[Lazarus] I have some custom components, can I convert Delphi -> Lazarus?
Mark Morgan Lloyd
markMLl.lazarus at telemetry.co.uk
Fri Jun 19 10:49:14 CEST 2015
Michael Schnell wrote:
> On 06/18/2015 06:01 PM, Bo Berglund wrote:
>> In the pas file referencing the obj file I have this:
>>
>> IMPLEMENTATION
>> USES
>> Windows;
>> {$L SPROMEPS.OBJ} { LINK WITH THE SUPERPRO OBJECT FILE }
>>
>> { External functions }
>> FUNCTION RNBOsproFormatPacket( ApiPacket : RB_SPRO_APIPACKET_PTR;
>> thePacketSize : WORD ) : WORD; STDCALL;
>> EXTERNAL;
>>
>>
>
> It uses e.g. "STDCALL", so supposedly it is an ANSI C based interface.
>
> If the obj file format is not GNU/FPC compatible and can't be used by
> the linker in fpc, " Safenet" might be able to provide a GNU C version
> of that file.
I can't safely comment on Windows-specific issues, we gave that up years
ago (the hassle of accounting for every copy on various experimental
machines etc. was more than it was worth).
Assuming standard linkage conventions the function should "just work",
but the definition of RB_SPRO_APIPACKET_PTR might need checking.
> But being able to successfully link might not be enough. It might be
> possible that the Safenet thingy does some encryption with the exe
> information file to allow only execution only if the correct dongle is
> found. That might or might not be compatible with fpc generated exes.
But as a cautionary tale, a colleague who didn't know x86 assembler once
spent many lunchtimes stepping through AutoCAD to break their dongle
lookup so that he could do something like running a slightly older (but
more comprehensive) version than he'd got a formal license for.
"Security by obscurity" doesn't work, particularly on an open system
like a PC.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the Lazarus
mailing list