[Lazarus] Creating packages - what to include?
Jean SUZINEAU
jean.suzineau at wanadoo.fr
Mon Dec 28 21:32:44 CET 2020
Le 28/12/2020 à 18:13, Bo Berglund via lazarus a écrit :
> Could you please direct me to where in Lazarus this can be done?
Usually when I add a unit uA.pas to a project (by opening the unit in
the code and then hitting Shift+F11 or Project/Add editor file to
project), Lazarus asks me if I want to add this path to the search path
for units.
There can be a problem if you further create a visual component in a
unit uB.pas that uses uA.pas.
You will need to create a package for uB.pas or add it to an existing
package. Let's call this package pB.lpk .
In this case you can no longer add the directory of uA.pas to the search
path, because you'll end up with duplicate ppu files. (I'm not sure of
the error, but Lazarus and the compiler complain and advise you to use
the package).
To address this problem, I have a specific package pA.lpk where I put
uA.pas, and I add pA to the dependencies of pB . (eventually, you can
put all you common code in a single package too)
In my real code pA is the package**OD_DelphiReportEngine_Units.lpk where
I put all my units which can run headless in console with no GUI (
https://github.com/jsuzineau/pascal_o_r_mapping/blob/master/pascal_o_r_mapping/2_Units/OD_DelphiReportEngine_Units.lpk
).
And pB is OD_DelphiReportEngine_Controls.lpk where I put all my custom
controls (visual components)
(https://github.com/jsuzineau/pascal_o_r_mapping/blob/master/pascal_o_r_mapping/5_Controls/OD_DelphiReportEngine_Controls.lpk)
I even had a third intermediary package
OD_DelphiReportEngine_Components.lpk for non visual components which can
be used for example in datamodules in console apps working with
databases (
https://github.com/jsuzineau/pascal_o_r_mapping/blob/master/pascal_o_r_mapping/4_Components/OD_DelphiReportEngine_Components.lpk*)
*
*
*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20201228/f30cac49/attachment.html>
More information about the lazarus
mailing list