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

Reply via email to