Recent

Author Topic: What defines a default component ?  (Read 2140 times)

Zath

  • Sr. Member
  • ****
  • Posts: 391
What defines a default component ?
« on: July 09, 2016, 01:54:52 pm »
I have read various recent threads about tcp / socket components and other missing "standard" components that prevents people making a program "a la Delphi" without need for 3rd party libraries.
I came to wonder what defines a default/standard component suitable for inclusion in the Lazarus library ?
Is it the preference of a few main Lazarus developers, a specific set of criteria per component or maybe just what happens to be popular at a given time ?

Furthermore, is it good practise to have a component like MSSQLConnection included for example, that can't be used without other 3rd party dlls that they themselves aren't included.
There's even an MSSQL example that can't run because of this.

I know dlls can be found and downloaded from elsewhere but this isn't really helpful, especially when there are multiple options and its never obvious you have the right one because it doesn't work when installed because a) you're not a super coder-geek-wiz and b) its rare that examples in help files actually have a scenario that matches yours.

This isn't any sort of criticism, I genuinely would like to know how a component makes it to the library.

Zath

  • Sr. Member
  • ****
  • Posts: 391
Re: What defines a default component ?
« Reply #1 on: July 09, 2016, 01:57:17 pm »
I have read a new post by leledumbo which goes some way to explain the situation.

Thaddy

  • Hero Member
  • *****
  • Posts: 18524
  • Here stood a man who saw the Elbe and jumped it.
Re: What defines a default component ?
« Reply #2 on: July 09, 2016, 02:07:26 pm »
I have read various recent threads about tcp / socket components and other missing "standard" components that prevents people making a program "a la Delphi" without need for 3rd party libraries.
I came to wonder what defines a default/standard component suitable for inclusion in the Lazarus library ?
Is it the preference of a few main Lazarus developers, a specific set of criteria per component or maybe just what happens to be popular at a given time ?

Furthermore, is it good practise to have a component like MSSQLConnection included for example, that can't be used without other 3rd party dlls that they themselves aren't included.
There's even an MSSQL example that can't run because of this.

I know dlls can be found and downloaded from elsewhere but this isn't really helpful, especially when there are multiple options and its never obvious you have the right one because it doesn't work when installed because a) you're not a super coder-geek-wiz and b) its rare that examples in help files actually have a scenario that matches yours.

This isn't any sort of criticism, I genuinely would like to know how a component makes it to the library.

The last statement is probably already answered, but what MSSQLConnection does is providing a connection/ interface to talk  to MS provided DLL's. These DLL's in itself  contain proprietary code. The interface can be used though.
There is no (read:easy, without re-engineering and without copyright infringements) way FPC or Lazarus can translate these shared libraries to native Object Pascal code.
Due to censorship, I changed this to "Nelly the Elephant". Keeps the message clear.

 

TinyPortal © 2005-2018