CVS update was: RE: [lazarus] Enable/CheckMenuItem

Mattias Gaertner nc-gaertnma at netcologne.de
Tue Nov 25 08:33:13 EST 2003


On Tue, 25 Nov 2003 14:26:02 +0100  Micha Nelissen
<M.Nelissen at student.tue.nl> wrote:

> Marc Weustink wrote:
> 
> > OK, the new layout is in CVS now.
> > 
> > The winapi inc files have been sorted out and split up into winapi and
> > lclintf
> > The interfacebase.inc is splitup in 3 parts, only interfacebase, winapi
> > and lcl.
> > The moves for gtkwinapi aren't finished yet.
> 
> I think the comment at the top of the lclapi.inc and winapi.inc to be a 
> little confusing:
> 
> (************************************************************************
> ******
>    All Winapi related stuff goes here.
>    This file is used by both LCLIntf.pas and InterfaceBase.pp
>    If a procedure is platform dependent then it should have the 
> following tail:
>      {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
>    If a procedure isn't platform dependent, it is no part of 
> InterfaseBase and
>    should be surrounded by:
>      {$IFNDEF IF_BASE_MEMBER}
>        procedure MyProc;
>      {$ENDIF}
> ****************
> 
> AFAIK, those ifdefs don't have anything to do with platform dependency, 
> just so that they can be included within a class and declared as a 
> global procedure by using the same inc file. Both files should be 
> platform independant

Right.

> , no? Ie. functionality provided by interface should 
> be the same for all platforms.

Yes.
With a few exceptions (e.g. clipboard). The interface is the same on all
platforms, but the functionality for the user differs.


Mattias






More information about the Lazarus mailing list