[Lazarus] Creating a library

Aruna Hewapathirane aruna.hewapathirane at gmail.com
Wed Nov 16 12:33:16 CET 2022


On Tue, Nov 15, 2022 at 3:50 PM Sven Barth via lazarus <
lazarus at lists.lazarus-ide.org> wrote:

> Am 15.11.2022 um 20:31 schrieb Aruna Hewapathirane:
>
>
> On Tue, Nov 15, 2022 at 2:28 PM Sven Barth via lazarus <
> lazarus at lists.lazarus-ide.org> wrote:
>
>> Am 15.11.2022 um 20:11 schrieb Aruna Hewapathirane via lazarus:
>> > Hello Everyone,
>> >
>> > I was wondering if it is possible for me to create a library with my
>> > own set of code snippets I use on a regular basis . Is there any
>> > example code I can possibly look at how this is done?
>> >
>> > Or a small single function example if someone is willing would help
>> > immensely.
>>
>> Do you really mean a library in the sense of a DLL or SO which requires
>> you to pay a bit more attention to how you code it due to the crossing
>> of the module boundaries or do you mean a Lazarus package which is a
>> collection of units that Lazarus will compile for you if necessary and
>> that you can use freely?
>>
>> Regards,
>> Sven
>>
>
>
> Hi Sven, my apologies I should have been more specific and yes it is the
> linux SO
> I am specifically interested in but certainly also interested in how to
> create the DLL
> for Windows.Thanks!
>
> Then please take a look here:
> https://www.freepascal.org/docs-html/prog/progch12.html#x262-27800012
>

Thank you, this is what I was looking for. Very much appreciate you taking
the time to help a noob. That is
some serious documentation by the way.. :-)

>
>
> But also pay attention to these articles on the Wiki which raise a few
> issues you need to be aware of:
> - https://wiki.freepascal.org/Lazarus/FPC_Libraries
> - https://wiki.freepascal.org/shared_library
>

Understood and shall comply. Thank you again!

>
>
> Important points of these to keep in mind:
> - don't allocate memory in the module and release in the program (or vice
> versa) - unless you use a common memory manager between them like ShareMem
> or cmem - this also includes strings and arrays
> - don't pass classes between module and program
> - don't propagate exceptions from the module to the program (or vice versa)
>
> Regards,
> Sven
>

Once again thank you very much for your time Sven.

Aruna




> --
> _______________________________________________
> lazarus mailing list
> lazarus at lists.lazarus-ide.org
> https://lists.lazarus-ide.org/listinfo/lazarus
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20221116/8365732d/attachment.htm>


More information about the lazarus mailing list