[lazarus] Some Lazarus / LCLbugs found

Marc Weustink marc at dommelstein.net
Sat Mar 9 08:55:28 EST 2002


At 12:42 09/03/2002 +0100, you wrote:
>On Sat, 09 Mar 2002 04:02:53 +0100
>Marc Weustink <marc at dommelstein.net> wrote:
>
> > While inmplementing some debuggerparts I ran into the following issues:
> >
> > * Code completion only works if a declaration is placed in the first
> > section of a class definition
> >
> > MyClass = class
> > // completion works
> > private
> > // completion doesnt work
> > protected
> > // completion doesnt work
> > public
> > // completion doesnt work
> > published
> > // completion doesnt work
> > end;
> >
> > IMO only the IDE should place things at the first location, developers
> > should place things at the other locations (where it isn'tworking :-(
>
>Hmm. It worked always, but not as intended.
>I improved the class completion for GUID, line ends/auto indenting and 
>first section.
>
>The heuristic is somewhat complex, but here are some short guidelines:
>- if a property needs new variables and/or methods, they will always be 
>inserted as private variables.
>- These new vars/methods will be inserted in the nearest private section 
>in front of the property.
>- if no private section exists in front of the property, a new one will be 
>inserted as the first section of the class (behind the GUID).
>
>In contrary to Delphi, the codetools also consider comments and gaps.
>
>
>Fixed?

Nope, I thought that it was more generic, but I'll give you myu example

type
   TForm1 = class(TForm)
     Button1: TBUTTON;
     constructor Create(AOwner: TComponent); override; //[1]
   private
     { private declarations }
   public
     constructor Create(AOwner: TComponent); override; //[2]
   end;


[1] will complete the class (or to be clearer) create the implementation
[2] won't

Marc






More information about the Lazarus mailing list