[Lazarus] IDE can't find various LCL unit

David Copeland david.copeland at jsidata.ca
Tue Jul 2 16:38:13 CEST 2013

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.

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

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.

Dave Copeland.

More information about the Lazarus mailing list