Recent

Poll

Is dynamic loading of packages needed in Laz?

Hell yeah, I hate to recompile the whole IDE just to get some package working
3 (42.9%)
I'd say, it would be quite convenient
3 (42.9%)
Whatever; who wants a donut?
0 (0%)
Nope, not here at least, recompilation suits me well
1 (14.3%)
Hell no, only w1mps would ever need it!
0 (0%)

Total Members Voted: 7

Voting closed: November 19, 2005, 06:47:52 pm

Author Topic: Dynamic loading of packages  (Read 9848 times)

mikiwoz

  • Full Member
  • ***
  • Posts: 130
Dynamic loading of packages
« on: November 19, 2005, 06:47:52 pm »
Maybe a question that has been already answered, but cannot find it anywhere on forums:
When is dynamic loading of packages (i.e. without the need to recompile Lazarus) planned to be available, if at all?

Cheers
mike

Vincent Snijders

  • Administrator
  • Hero Member
  • *
  • Posts: 2661
    • My Lazarus wiki user page
RE: Dynamic loading of packages
« Reply #1 on: November 21, 2005, 11:32:48 am »
It is planned to be available once fpc supports it.

Packages are planned for fpc 2.2.
See http://www.freepascal.org/future.html for fpc's plans.

mikiwoz

  • Full Member
  • ***
  • Posts: 130
RE: Dynamic loading of packages
« Reply #2 on: November 22, 2005, 12:24:21 am »
Thx, didn't know that. :)

Cheers
mike

tk

  • Sr. Member
  • ****
  • Posts: 361
Re: Dynamic loading of packages
« Reply #3 on: June 23, 2014, 11:00:32 pm »
What is the development status of this feature?

No word about packages found on the FPC plans page.

I am working with many packages inclusive improving mine ones, would really appreciate the delphi manner which is much faster.

Or how to prevent steady recompilation of Lazarus?

Thank you

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: Dynamic loading of packages
« Reply #4 on: June 23, 2014, 11:50:55 pm »
If you have looked and not found anything the answer seems obvious. AFAIK, there's no current work on it being done.

You could ask on the fpc-devel mailing list - I'm sure the compiler guys will have a definitive answer though...

IMO recompilation is not too bad as long as you keep your debug settings the same, only a small part will need to be recompiled. Then again, I'm not a package developer so probably don't run into the issue nearly as much as you...
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11458
  • FPC developer.
Re: Dynamic loading of packages
« Reply #5 on: June 24, 2014, 03:39:00 pm »
Sven has looked at dynamic packages. Note that is something else then actually using it in Lazarus.

I would also be very careful projecting Delphi experiences to Lazarus in this regard, some of the internals are simply different. (like having an external compiler)

skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2770
    • havefunsoft.com
Re: Dynamic loading of packages
« Reply #6 on: June 24, 2014, 06:09:31 pm »
In many cases you don't need an actual "dynamic package".

All you probably need is to have a component available in the Forms Designer and Object Inspector.

Well, what could happen in this case is that a description of the object could be loaded to the IDE from external resources, i.e. a description file, rather than reading RTTI information.

The description file, could indeed be generated based on RTTI information. But for that purpose there's no need to recompile the whole IDE, instead some "rtti generator template" could be recompiled with the sources.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11458
  • FPC developer.
Re: Dynamic loading of packages
« Reply #7 on: June 25, 2014, 10:09:30 am »
In many cases you don't need an actual "dynamic package".

All you probably need is to have a component available in the Forms Designer and Object Inspector.

True. If you don't need icons, property editors etc. But does it really pay to have two different schemes and umpteen forms of metadata? Even if we don't do designtime compiled packages, I rather recompile the IDE, the problem is not THAT big to try to optimize it with a hackety minimalistic solution.
 

skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2770
    • havefunsoft.com
Re: Dynamic loading of packages
« Reply #8 on: June 26, 2014, 02:22:23 pm »
True. If you don't need icons, property editors etc.
Well, icons are not really an issue. Especially if available as external files.
Property Editors are indeed more complicated to be implemented as external applications.

But does it really pay to have two different schemes and umpteen forms of metadata?
No matter what the form is (or how many forms), there's only one schema in the end.

Even if we don't do design-time compiled packages, I rather recompile the IDE, the problem is not THAT big to try to optimize it with a hackety minimalistic solution.
I've ran into an issue myself. I could not compile a package for x86_64 IDE, so had to build i386 IDE.
Another small benefit, is that packages could get rid of "design-time" code.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11458
  • FPC developer.
Re: Dynamic loading of packages
« Reply #9 on: June 26, 2014, 03:06:57 pm »
True. If you don't need icons, property editors etc.
Well, icons are not really an issue. Especially if available as external files.

Many loose files contribute to slow startup. Same with external applications for common tasks. Integrated Development Environments(IDE) were created to combat that.

Quote
Property Editors are indeed more complicated to be implemented as external applications.

I don't see any other solution to that. And more importantly, I don't see a problem big enough to even consider it.

Quote
Even if we don't do design-time compiled packages, I rather recompile the IDE, the problem is not THAT big to try to optimize it with a hackety minimalistic solution.
I've ran into an issue myself. I could not compile a package for x86_64 IDE, so had to build i386 IDE.

Fix the package would be more logical.

skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2770
    • havefunsoft.com
Re: Dynamic loading of packages
« Reply #10 on: June 26, 2014, 04:27:45 pm »
Fix the package would be more logical.
True, except for the cases of a package being OS specific, and I guess dynamic packages won't help to resolve the issue as well, since they're os dependent.

Property Editors are indeed more complicated to be implemented as external applications.

I don't see any other solution to that. And more importantly, I don't see a problem big enough to even consider it.
That's a typical task for "extensible applications". With Scripting languages (Pascal script?) as a typical alternative to using dynamically loaded plugins.
« Last Edit: June 26, 2014, 04:30:58 pm by skalogryz »

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11458
  • FPC developer.
Re: Dynamic loading of packages
« Reply #11 on: June 26, 2014, 04:30:00 pm »
True, except for the cases of a package being OS specific,

The design package alone, while the runtime is not. But 9 to 10 that that package then does more than can be done without. (e.g. custom guis for the prop edits)
 

 

TinyPortal © 2005-2018