View Issue Details

IDProjectCategoryView StatusLast Update
0014943LazarusIDEpublic2010-12-17 05:49
ReporterDaniel GasparyAssigned ToMartin Friebe 
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product Version0.9.29 (SVN)Product Build 
Target Version0.9.30Fixed in Version0.9.29 (SVN) 
Summary0014943: Frames with TSynMemo Doesn't compile
DescriptionAt Linux (Ubuntu 64 bits, Lazarus SVN trunk) results:

Class Unknown

At Windows (XP 32 bits, Lazarus snapshot Lazarus-0.9.29-22348-fpc-2.2.4-20091030-win32.exe):

...\interfaces.pp(32,3) Fatal: Can't find unit InterfaceBase used by Interfaces
Additional InformationReproducing the problem

With the Attached Example:

1-Open Project

2-At Form1 Add the Frame1

3-Run


Using a New Project:

1-Create the project

2-Create a Frame and put a TSynMemo

3-At Form1 Add the Frame1

4-Run
TagsNo tags attached.
Fixed in Revision22489
LazTarget0.9.30
WidgetsetWin32/Win64
Attached Files

Relationships

has duplicate 0014952 closedMartin Friebe SynEdit and SynMemo do not work in TFrames 

Activities

2009-10-30 06:57

 

frame_and_tsynmemo.zip (164,752 bytes)

Vincent Snijders

2009-10-30 17:03

manager   ~0031806

...\interfaces.pp(32,3) Fatal: Can't find unit InterfaceBase used by Interfaces is probably a configuration error.

While compiling the source of interfaces.pp should not accesible by the compiler.

Martin Friebe

2009-10-31 15:57

manager   ~0031814

It works here (compiling) in both cases: created from scratch OR from attached zip

The zip only works if I create the "lib" folder for the output.


However there may be an unrelated bug. Once compiled, the app will not start due to an exception: ancestor class not found ""

See issue 0014952

Martin Friebe

2009-11-05 01:36

manager   ~0031899

Re-Reading the description and taking 0014952 into account

Question 1:
> At Linux (Ubuntu 64 bits, Lazarus SVN trunk) results:
> Class Unknown

 Does this refer to execution or compilation? (Since the summary indicated an issue compiling)

Is this the same as 0014952 ?

Question 2:
> Can't find unit InterfaceBase used by Interfaces is probably a configuration error.

Do other projects compile correctly, is your fpc path set correctly, if you upgraded Lazarus from 0.9.26.x did you change it to use the new fpc?)

The error usually result from either:
- mixing fpc versions
- not including packages (your project (menu -> project -> project inspector) must include the LCL as package
- having done something to your fpc.cfg or having renamed the folder that contains FPC or Lazarus

If none of these apply and the problem persists, try compiling with the option -va and attach the complete compiler output including hidden messages.

If the "Can't find unit InterfaceBase" issue is solved, please indicate so.

Daniel Gaspary

2009-11-07 21:50

reporter   ~0031983

>Question 1:
>> At Linux (Ubuntu 64 bits, Lazarus SVN trunk) results:
>> Class Unknown
> Does this refer to execution or compilation? (Since the summary indicated an issue compiling)

The problem happens on execution, after Linking is complete.


>Question 2:
>> Can't find unit InterfaceBase used by Interfaces is probably a configuration error.

>Do other projects compile correctly,

2.1) Yes, other projects are compiled and executed without problems, the same with packages installing and lazarus rebuild. Only this frame + synMemo project has this problem.
 
>is your fpc path set correctly, if you upgraded Lazarus from 0.9.26.x did you change it to use the new fpc?)

>The error usually result from either:
>- mixing fpc versions

It's a possible cause. I perform tests with different versions.

2.2) - not including packages (your project (menu -> project -> project inspector) must include the LCL as package

The LCL is there.

2.3) - having done something to your fpc.cfg or having renamed the folder that contains FPC or Lazarus

No. When I test other FPC versions, I configure on Envireonment->Options and others projects continue to build/run without problems.

2.4) If none of these apply and the problem persists, try compiling with the option -va and attach the complete compiler output including hidden messages.

>If the "Can't find unit InterfaceBase" issue is solved, please indicate so.

I have tried again mapping the --primary-config-path to an empty dir to have a fresh config. With this approach the error messages have changed. I have used this "empty config dir" aproach on the three following scenarios:



Kubuntu 9.10 64 bits - Completely new installation - no previous lazarus or fpc
Lazarus (Snapshot) 0.9.29 beta SVN Revision: 22456
Free Pascal Compiler version 2.2.4-3 [2009/06/04] for x86_64
================================================================================
After Linking, as soon as the app is initiated: class "TFrame1" not found.



KUbuntu 8.04 64bits + Lazarus SVN trunk + FPC 2.2.4
====================================================
After Linking, as soon as the app is initiated: Ancestor for "" not Found


Windows XP SP3 32bits - Lazarus 9.29 beta - 02/11/2009 - SVN Revision: 22348 -
FPC 2.2.5 (Lazarus Snapshot)
===============================================================================
After Linking, as soon as the app is initiated: class "TFrame1" not found

2009-11-07 21:51

 

messages-kubuntu910-64bits.txt.zip.zip (514,839 bytes)

2009-11-07 21:52

 

messages-kubuntu804-64bits.txt.zip.zip (492,095 bytes)

2009-11-07 21:52

 

messages-WindowsXP.txt.zip.zip (90,223 bytes)

Martin Friebe

2009-11-07 22:34

manager   ~0031984

ok, so the "can't find unit.." is to do with your config.

It is certainly independent of the error you get when running the compiled executable.

I will tread this report as the "Class Unknown" issue (which makes my later report a duplicate)

If you can find which part of your config caused the "unit not found" issue, and if you believe that this part of your config is valid (but it will probably not be valid), then you can report this as a new issue, with details how to change the config to something that fails compiling.


Thanks for the feedback

Martin Friebe

2009-11-08 18:20

manager   ~0032008

Please test and lose if ok.

Please not the following restriction:
By design it is not possible to delete a component from an inlined frame. e.g. if your frame has a button, you put the frame on form1, then you may move the button, but you can not delete it.

The same applies for the gutter-parts in a SynEdit. SynEdit (if part of an inlined (embedded) frame) allows you to add more of them on, or change their position. But you can not remove any gutterparts, that are given by the SynEdit on the original Frame.

The issue is, that the property editor does not warn you, it will remove it, but if you save or execute, it will be back.

That is to be fixed (a warning/error added, when you attempt to do so) later (much later).

Issue History

Date Modified Username Field Change
2009-10-30 06:57 Daniel Gaspary New Issue
2009-10-30 06:57 Daniel Gaspary File Added: frame_and_tsynmemo.zip
2009-10-30 06:57 Daniel Gaspary Widgetset => Win32/Win64
2009-10-30 17:03 Vincent Snijders Note Added: 0031806
2009-10-31 15:57 Martin Friebe Note Added: 0031814
2009-11-05 01:36 Martin Friebe LazTarget => -
2009-11-05 01:36 Martin Friebe Note Added: 0031899
2009-11-05 01:36 Martin Friebe Assigned To => Martin Friebe
2009-11-05 01:36 Martin Friebe Status new => feedback
2009-11-07 21:50 Daniel Gaspary Note Added: 0031983
2009-11-07 21:51 Daniel Gaspary File Added: messages-kubuntu910-64bits.txt.zip.zip
2009-11-07 21:52 Daniel Gaspary File Added: messages-kubuntu804-64bits.txt.zip.zip
2009-11-07 21:52 Daniel Gaspary File Added: messages-WindowsXP.txt.zip.zip
2009-11-07 22:34 Martin Friebe Note Added: 0031984
2009-11-07 22:34 Martin Friebe Status feedback => assigned
2009-11-07 22:35 Martin Friebe Relationship added has duplicate 0014952
2009-11-08 18:20 Martin Friebe Fixed in Revision => 22489
2009-11-08 18:20 Martin Friebe LazTarget - => 0.9.30
2009-11-08 18:20 Martin Friebe Status assigned => resolved
2009-11-08 18:20 Martin Friebe Fixed in Version => 0.9.29 (SVN)
2009-11-08 18:20 Martin Friebe Resolution open => fixed
2009-11-08 18:20 Martin Friebe Note Added: 0032008
2009-11-08 18:21 Martin Friebe Target Version => 0.9.30
2010-12-17 05:49 Daniel Gaspary Status resolved => closed