[Lazarus] THelpEvent declaration discussion

Hans-Peter Diettrich DrDiettrich1 at aol.com
Fri Nov 6 15:11:28 CET 2009


Graeme Geldenhuys schrieb:

> Yesterday I found that the THelpEvent definition in Kylix 3 is very
> different to the one in Delphi VCL. Looking at the code in FPC, it
> follows the Delphi implementation - even though the implementation is
> extremely outdated.

FPC imports more oddities from Delphi, like the new change of Inc() :-(

While I agree that FPC and Lazarus should be allowed to deviate from the 
Delphi VCL and RTL interfaces, I'd wait for Delphi "X" before changing 
anything, or for the death of Delphi, whatever happens earlier :-]


> My opinion is that FPC and Lazarus is not that closely tied to Windows
> and Windows API - well it shouldn't be, because both products are
> cross-platform tools and should have equal footing on all supported
> platforms.

ACK.

> The Kylix 3 signature seems more useful to me as a cross-platform
> developer, as it clearly defines the parameters (no ambiguous
> parameters) and sends all information needed to the OnHelp event
> handler. My proposal is that the THelpEvent definition in FPC be changed
> to the Kylix 3 signature.

Before doing so we should check the existing help systems, e.g. on 
MacOS, for compatibility. Then the related type declarations can be 
updated in the same step, if required.

I'm not sure about the HelpFile property - at least a default (Form?) 
helpfile should be usable, just for more convenience and better maintenance.


> So yes, this will break backward compatibility in Lazarus, but Lazarus
> is not the only GUI toolkit and development tools using FPC and it's
> classes. Also FPC and Lazarus have already implemented things that break
> compatibility with Delphi - simply because FPC and Lazarus are not so
> closely tied to Windows; it may be a better design and for the greater
> good (better cross-platform support).

I'd like to break with the drag-dock model as well. It has turned out 
that it doesn't fit multi-platform requirements, and is not available in 
CLX at all!

DoDi




More information about the Lazarus mailing list