Recent

Author Topic: Suggestion about component installation  (Read 4275 times)

rtoukkys

  • Newbie
  • Posts: 1
Suggestion about component installation
« on: August 18, 2008, 08:00:26 pm »
Hello Lazarus Users!
(Excuse me for my very very bad english)

I don't know if it is already implemented in the last version of Lazarus: it 's about the component installation.
To facilitate component installation, why not use the new component as Plugin or as Dll. So, when the user installs the new component, Lazarus compiles the Source, then read some informations (Entry point of the Dll, I don't know) from the dll and then Put the icon of the component in the component palette. All informations about  the component are got at running time of Lazarus.
Only, the name of the new component Dll, its path are stored in one Ini file, for example.
To maintain the compatibility with Delphi's components, we won't omit the Register procedure but add only one special procedure (procedure InstallComponent for example)

Is it possible?

thank you!

Lazarus and FPC Newbies

Leledumbo

  • Hero Member
  • *****
  • Posts: 8273
  • Programming + Glam Metal + Tae Kwon Do = Me
RE: Suggestion about component installation
« Reply #1 on: August 19, 2008, 02:56:57 pm »
Err... I think that was already discussed, and everyone agreed not to do it. You know, loading from a library takes a long time (at least longer than if it's in the executables). Plus, the project will then depend on many libraries (depending on how many packages used) that makes distribution more difficult.

Marc

  • Administrator
  • Hero Member
  • *
  • Posts: 2512
RE: Suggestion about component installation
« Reply #2 on: August 22, 2008, 10:05:10 am »
Loading is not the issue. The problem is that you need package support for this.
Meaning that you only have (for instance) one definition of TObject in the rtl package.
When you use a plain library for your own component, the rtl stuff is compiled into that library too. Meaning that the IDE has its definition of TObject and your component library another. This will lead to difficult to track bugs/crashes.
//--
{$I stdsig.inc}
//-I still can't read someones mind
//-Bugs reported here will be forgotten. Use the bug tracker

 

TinyPortal © 2005-2018