Jürgen Hestermann schrieb:

 > Compare the compiler flags of TP and FPC. TP is a toy compared to FPC.

But what has all this to do with the concept of packages? The concepts used in TP where enough to allow arbitrary complex applications. And my main critic about all this is, that even when new concepts are introduced they should be rock solid. This looks more like a design study.

Many languages have problems with e.g. multi-platform issues or, in case of Lazarus, with multiple implementations (of the widgetset), selectable at build time. The same for (third-party) libraries, which may or may not come with source code. That's why features like "packages" have been invented, to overcome such management problems (search paths...). Of course everybody can manage that himself, writing and updating Makefiles etc., but then he has no assistance by other tools (expect written by himself).


> The normal user creates a LCL application and everything is setup for him.

That's exactly what I did. I used Larazus to create a console application. I then added my general purpose unit to the uses clause. Then compile failed with an error message that had nothing to do with my program or unit.

IIRC your case is somewhat non-standard, because you use an *abstract* class. In such an case *every* user has to indicate the unit or package, where that abstract interface is implemented.

You are right in so far as Lazarus contains a couple of such abstract classes, some of which *never* can be implemented outside their declaring unit. Perhaps the developers *wanted* to allow for more flexibility, by declaring abstract classes and virtual methods first, but in many cases they forgot to make their supplied default implementation used *by default* (e.g. GRIDS), or they forgot to add features that allow to create alternative implementations at all (e.g. TDragManager).

More discussion of such issues should lead to an improved situation, where the inventors have fixed obvious flaws, and have added documentation and means for alternative implementations.

DoDi


--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to