[Lazarus] Project.pp

Martin Frb lazarus at mfriebe.de
Wed Apr 3 19:46:40 CEST 2024


On 03/04/2024 18:49, Gabriele Cappelletto via lazarus wrote:
> The code is this
>
> function TExtPApplicationDescriptor.InitProject(AProject: 
> TLazProject): TModalResult;
>
>   TProject(AProject).UseAppBundle := False;
>   TProject(AProject).ProjResources.XPManifest.UseManifest := False;
> TProject(AProject).ProjResources.ProjectIcon.SetStream(nil);
>
> TProject(AProject).CompilerOptions.ExecuteBefore.Command :=
>
> We need the reference to TProject, how do I remove this reference?
>
>

Mind that getting this to work is only "being lucky".

It is not meant to work.
That is the unit "project" is part of the IDE, and only meant to be used 
by the IDE. From a license point of few, it is GPL (not LGPL), so if 
your code is GPL, then you are permitted to use it, but....

The unit comes with no warranties on it's interface. It could change in 
any way, and such changes would not be announced. (so long as the IDE 
and lazbuild themself are still working).

The same is true for any file inside the ide folder. And that does 
include files in packages inside the ide folder.

------------------

Also further more, it may (maybe) fail even if it compiles (at least I 
think it may). If either your code or the IDE is build with -O4 but not 
the other. Then FPC may produce different memory layout for the 2 
equally named classes (it's only "equally name classes", it is not 
"equal classes"). And in future fpc could produce differences in other 
situations.

You best get in a feature request, so that functionality that is 
required can be (considered for) included in the IdeIntf.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20240403/1b0270e9/attachment.htm>


More information about the lazarus mailing list