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.
-- 
_______________________________________________
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to