[Lazarus] IDE can't find various LCL unit

Mattias Gaertner nc-gaertnma at netcologne.de
Tue Jul 2 17:09:47 CEST 2013

On Tue, 02 Jul 2013 10:38:13 -0400
David Copeland <david.copeland at jsidata.ca> wrote:

> Recently, the IDE has been having trouble finding various units within
> the LCL. I tried searching the bug tracker but could not find this issue.
> I use fpc 2.6.2, and use Lazarus from svn. I updated this morning to
> revision 41964. The OS is Suse 12.2 / x86_64.
> What happens is ... Whenever I try to navigate to an event handler of a
> control I get an error ...
> /home/david.copeland/projects/lazarus/lcl/controls.pp(38,36) Error: unit
> not found: types
> The controls.pp source file is opened and the unit clause is
> highlighted. Sometimes it is the gettext in the Forms unit that is not
> found. Also, I am not sure, but I think this started when I upgraded fpc
> from 2.6.0 to 2.6.2.

The unit types is part of fpc.
In that case the IDE can not use search paths to find the source, but
instead uses its scan results of the fpc sources (Tools / Rescan FPC
source directory).

Have you tried Tools / Rescan FPC source directory?

Check View / IDE Internals / About FPC.
It should list the full filename of types.ppu.

> For example, and more specifically say I click on a Button in some Form.
> Then in the Object Inspector I click on the Event tab, then click on the
> "On Click" line to get the ... to show. It is at this point  the "error"
> occurs. However, the ... are shown and I can click on them to navigate
> to the handler. I can build my application and it runs. As long as the
> project remains open the "error" does not reoccur. But if I open another
> project I get this "error" on the first attempt to navigate to an event
> handler.

Maybe the project has some strange defines. For instance

> When the handler already exists this is an annoyance. But if I try
> creating a handler for a new control  the behavior is different. When I
> click on the ... in the Object Inspector I get a message dialog with the
> the message "Unable to find method. Please fix the error shown in the
> message window, which in normally below the source editor."  That error
> is "Error: Unit not found: Classes". Also the file LCLClasses is opened
> in the editor. This happens every time I try to create the handler in
> this way. I can manually add the handler and the application builds
> normally. However, the manually added handler is not visible in the
> object inspector, even if I restart the IDE.
> I hope this is enough info. I can file a bug report if needed.


More information about the Lazarus mailing list