[Lazarus] Using Lazarus to build a (Linux) shared library, with a form

Mark Morgan Lloyd markMLl.lazarus at telemetry.co.uk
Mon Jun 11 17:11:37 CEST 2012


Mark Morgan Lloyd wrote:
> Sven Barth wrote:
>> Am 11.06.2012 12:34, schrieb Mark Morgan Lloyd:
>>> Sven Barth wrote:
>>>> Am 11.06.2012 11:38, schrieb Mark Morgan Lloyd:
>>>>> I'm struggling here. I can build a trivial (empty) .so using Lazarus
>>>>> 1.1+2.6.0, the only necessary manual operation being to tell the 
>>>>> project
>>>>> options to remove the (Windows-specific?) -Wr option. I can load the
>>>>> result at runtime, although I've not so far put significant code into
>>>>> it.
>>>>>
>>>>> As soon as use Lazarus to add a form to the project, it no longer 
>>>>> loads.
>>>>> In order to find out what's going wrong I've had to use dlerror(), 
>>>>> i.e.
>>>>> bypassing the dynlibs library since it doesn't have a function e.g.
>>>>> GetLoadErrorStr(). This shows me that the low-level dlopen() is
>>>>> complaining "undefined symbol: WSRegisterCustomImageList".
>>>>>
>>>>> What do I have to manually add to the project to get this working?
>>>>>
>>>>
>>>> Estimated guess: add unit "interfaces" to your library project file.
>>>
>>> Thanks Sven, that does indeed fix it :-)

> Anyway, I'm now at the position where I can load the 
> most-recently-created backend, and query "about" information. I'm now 
> moving on to putting some entries in the backend's form's menu, and 
> seeing if I can move them to the frontend.

Now working, including displaying dialog(ue)s embedded in the shared 
library. I'm doing my own deep copy of TMenuItems to avoid parentage 
problems, and have ducked all consideration of menu glyphs/bitmaps etc.

-- 
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