<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <div class="moz-cite-prefix">Le 28/12/2020 à 18:13, Bo Berglund via
      lazarus a écrit :<br>
    </div>
    <blockquote type="cite"
      cite="mid:4s3kufp0ci3h28s06uinn96blfv65mf4rf@4ax.com">
      <pre class="moz-quote-pre" wrap="">Could you please direct me to where in Lazarus this can be done?</pre>
    </blockquote>
    <p>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. <br>
    </p>
    <p>There can be a problem if you further create a visual component
      in a unit uB.pas that uses uA.pas.</p>
    <p>You will need to create a package for uB.pas or add it to an
      existing package. Let's call this package pB.lpk .<br>
    </p>
    <p>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).<br>
    </p>
    <p>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)<br>
    </p>
    <p>In my real code pA is the package<b> </b><span
        class="final-path">OD_DelphiReportEngine_Units.lpk where I put
        all my units which can run headless in console with no GUI (
<a class="moz-txt-link-freetext" href="https://github.com/jsuzineau/pascal_o_r_mapping/blob/master/pascal_o_r_mapping/2_Units/OD_DelphiReportEngine_Units.lpk">https://github.com/jsuzineau/pascal_o_r_mapping/blob/master/pascal_o_r_mapping/2_Units/OD_DelphiReportEngine_Units.lpk</a>
        ).</span></p>
    <p><span class="final-path">And pB is </span><span
        class="separator"></span><span class="final-path">OD_DelphiReportEngine_Controls.lpk
        where I put all my custom controls (visual components)
(<a class="moz-txt-link-freetext" href="https://github.com/jsuzineau/pascal_o_r_mapping/blob/master/pascal_o_r_mapping/5_Controls/OD_DelphiReportEngine_Controls.lpk">https://github.com/jsuzineau/pascal_o_r_mapping/blob/master/pascal_o_r_mapping/5_Controls/OD_DelphiReportEngine_Controls.lpk</a>)<br>
      </span></p>
    <p>I even had a third intermediary package <span class="final-path">OD_DelphiReportEngine_Components.lpk
        for non visual components which can be used for example in
        datamodules in console apps working with databases (
<a class="moz-txt-link-freetext" href="https://github.com/jsuzineau/pascal_o_r_mapping/blob/master/pascal_o_r_mapping/4_Components/OD_DelphiReportEngine_Components.lpk">https://github.com/jsuzineau/pascal_o_r_mapping/blob/master/pascal_o_r_mapping/4_Components/OD_DelphiReportEngine_Components.lpk</a></span><strong
        class="final-path">) <br>
      </strong></p>
    <p><strong class="final-path"><br>
      </strong></p>
    <p><span class="final-path"></span></p>
    <p><span class="final-path"></span></p>
  </body>
</html>