Lazarus
Home
Help
TinyPortal
Search
Login
Register
Lazarus
»
Forum
»
Programming
»
Packages and Libraries
»
[Solved] Extending IDE: How to query required packages of project?
Free Pascal
Website
Downloads
Wiki
Documentation
Bugtracker
Mailing List
Lazarus
Website
Downloads (Laz+FPC)
Packages (OPM)
FAQ
Wiki
Documentation (RTL/FCL/LCL)
Bugtracker
CCR Bugs
IRC channel
GIT
Mailing List
Other languages
Foundation
Website
Useful Wiki Links
Project Roadmap
Getting the Source
Screenshots
How to use the forum
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
(preview)
Lazarus Handbook
Search
Advanced search
Recent
Does anyone know why thes...
by
TYDQ
[
Today
at 05:24:32 am]
Forum slow
by
Curt Carpenter
[
Today
at 03:41:07 am]
Arabic text, problem on L...
by
Zaher
[
Today
at 03:29:16 am]
InstallAware Using Lazaru...
by
TRon
[
Today
at 02:55:41 am]
Generics - correct syntax
by
Blaazen
[
Today
at 01:57:40 am]
Demoscene The Champs Crac...
by
Gigatron
[
Today
at 01:05:16 am]
How to use the Event Log?
by
n7800
[
Today
at 12:47:25 am]
v3.99 code completion que...
by
440bx
[
Today
at 12:45:55 am]
FpDebug breakpoint on "be...
by
440bx
[
Today
at 12:36:23 am]
Access violation when re-...
by
TRon
[April 19, 2024, 11:44:51 pm]
[solved] how to get class...
by
jamie
[April 19, 2024, 11:34:44 pm]
Lazarus for Windows on aa...
by
Wallaby
[April 19, 2024, 10:52:25 pm]
Poll: Watches and Display...
by
440bx
[April 19, 2024, 07:13:51 pm]
Who is Indy mattias?
by
paweld
[April 19, 2024, 04:17:53 pm]
I just released a commerc...
by
BrassGear
[April 19, 2024, 03:17:28 pm]
Database standards OR Am ...
by
gidesa
[April 19, 2024, 02:37:56 pm]
How to: create DLL file f...
by
TRon
[April 19, 2024, 02:26:53 pm]
A fairly simple sound sol...
by
paweld
[April 19, 2024, 01:46:11 pm]
Access violation when ope...
by
Чебурашка
[April 19, 2024, 12:27:34 pm]
Step-into the field sette...
by
Martin_fr
[April 19, 2024, 11:31:48 am]
AI, NLP and CAI: Text Gen...
by
Dzandaa
[April 19, 2024, 11:03:26 am]
dwindows for Android
by
PierceNg
[April 19, 2024, 10:54:44 am]
create system unit from s...
by
Laksen
[April 19, 2024, 10:53:57 am]
[Solved] Find child contr...
by
Joanna
[April 19, 2024, 09:53:43 am]
FpDebug unexpected Assemb...
by
Marc
[April 19, 2024, 08:46:38 am]
« previous
next »
Print
Pages: [
1
]
Author
Topic: [Solved] Extending IDE: How to query required packages of project? (Read 3579 times)
Pascal
Hero Member
Posts: 932
[Solved] Extending IDE: How to query required packages of project?
«
on:
March 05, 2019, 01:40:04 pm »
I am just adding features to LazProfiler (IDE-Addon) and need to know the required packages of a project. I have no clue where to start.
«
Last Edit: March 06, 2019, 12:35:56 pm by Pascal
»
Logged
laz trunk x64 - fpc trunk i386 (cross x64) - Windows 10 Pro x64 (21H2)
lucamar
Hero Member
Posts: 4219
Re: Extending IDE: How to query required packages of project?
«
Reply #1 on:
March 05, 2019, 02:05:46 pm »
There's probably a better way but in the last ditch you could always parse the project's
.lpi
Logged
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!)
Lazarus/FPC 2.0.8/3.0.4 & 2.0.12/3.2.0 - 32/64 bits on:
(K|L|X)Ubuntu 12..18, Windows XP, 7, 10 and various DOSes.
BrunoK
Sr. Member
Posts: 452
Retired programmer
Re: Extending IDE: How to query required packages of project?
«
Reply #2 on:
March 05, 2019, 02:11:03 pm »
As lucamar says, load the project.lpi as an xml file and read the RequiredPackages list. That seems to be the only place where it is specified.
Logged
Pascal
Hero Member
Posts: 932
Re: Extending IDE: How to query required packages of project?
«
Reply #3 on:
March 05, 2019, 02:32:40 pm »
Quote from: lucamar on March 05, 2019, 02:05:46 pm
There's probably a better way but in the last ditch you could always parse the project's
.lpi
I've hoped there would be something like
Code: Pascal
[Select]
[+]
[-]
property
Files
[
Index
:
integer
]
:
TLazProjectFile
read
GetFiles
;
property
FileCount
:
integer
read
GetFileCount
;
for required packages
Logged
laz trunk x64 - fpc trunk i386 (cross x64) - Windows 10 Pro x64 (21H2)
Pascal
Hero Member
Posts: 932
Re: Extending IDE: How to query required packages of project?
«
Reply #4 on:
March 06, 2019, 12:35:29 pm »
There is another solution in unit PackageIntf:
Code: Pascal
[Select]
[+]
[-]
TPackageEditingInterface
=
class
(
TComponent
)
...
procedure
GetRequiredPackages
(
AnOwner
:
TObject
;
// a TLazProject or TIDEPackage
out PkgList
:
TFPList
;
// list of TIDEPackage
Flags
:
TPkgIntfRequiredFlags
=
[
]
)
virtual
;
abstract
;
...
Logged
laz trunk x64 - fpc trunk i386 (cross x64) - Windows 10 Pro x64 (21H2)
lucamar
Hero Member
Posts: 4219
Re: [Solved] Extending IDE: How to query required packages of project?
«
Reply #5 on:
March 06, 2019, 01:44:45 pm »
Hmm... You could write a tutorial on how to build IDE-addons and where to look for answers to questions like this (other than eye-grepping the sources). It would be quite useful.
Logged
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!)
Lazarus/FPC 2.0.8/3.0.4 & 2.0.12/3.2.0 - 32/64 bits on:
(K|L|X)Ubuntu 12..18, Windows XP, 7, 10 and various DOSes.
Pascal
Hero Member
Posts: 932
Re: [Solved] Extending IDE: How to query required packages of project?
«
Reply #6 on:
March 06, 2019, 04:36:21 pm »
Good idea. I'll update the wiki.
Logged
laz trunk x64 - fpc trunk i386 (cross x64) - Windows 10 Pro x64 (21H2)
Pascal
Hero Member
Posts: 932
Re: [Solved] Extending IDE: How to query required packages of project?
«
Reply #7 on:
March 07, 2019, 09:29:52 am »
Done
Logged
laz trunk x64 - fpc trunk i386 (cross x64) - Windows 10 Pro x64 (21H2)
lucamar
Hero Member
Posts: 4219
Re: [Solved] Extending IDE: How to query required packages of project?
«
Reply #8 on:
March 07, 2019, 10:06:27 am »
Thanks! Updated my local copy
Logged
Turbo Pascal 3 CP/M - Amstrad PCW 8256 (512 KB !!!)
Lazarus/FPC 2.0.8/3.0.4 & 2.0.12/3.2.0 - 32/64 bits on:
(K|L|X)Ubuntu 12..18, Windows XP, 7, 10 and various DOSes.
Print
Pages: [
1
]
« previous
next »
Lazarus
»
Forum
»
Programming
»
Packages and Libraries
»
[Solved] Extending IDE: How to query required packages of project?
TinyPortal
© 2005-2018