[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