Bo Berglund wrote:
I am investigating programming for the Raspberry Pi as described in my
other thread. Could someone please outline if there is a concept like
a Windows DLL also in Raspbian for the Pi?
I have a DLL written in Delphi7 (or 2007), which implements a whole
bunch of basic functions and I am wondering if a similar file as a DLL
is used in Linux. If so could I port the existing DLL from Windows to
freepascal and then to Linux on the Pi?
I got some advice on the porting process in my other thread but in
this case it involves the creation of a DLL equivalent so that the
main programming could be done in for example Python while using the
functions from the DLL code?
It's a .so file. I think Lazarus has the same restrictions for both
Windows and unix: by default, there's a separate heap in the main
executable and in each separately-linked .so library which means that
you can't pass anything dynamically-allocated (strings, objects etc.) as
parameters or (in particular) return them as results. The way round this
is to use this at the start of each .lpr:
uses
cmem, { HeapTrc, } Classes, interfaces
{ you can add units after this }
Then in the library .lpr you have an exports list for entry points.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus