[Lazarus] Problem with JVM and/or native types

Mattias Gaertner nc-gaertnma at netcologne.de
Tue Jan 3 17:50:30 CET 2012


On Thu, 29 Dec 2011 13:23:08 +0100
Sven Barth <pascaldragon at googlemail.com> wrote:

>[...]
> The error with the first "external" class or interface declaration now 
> has gone away, but I have found a new problem:
> 
> Ctrl+Clicking on an identifier that is declared in the AndroidR14 unit 
> gives the following error:
> 
> ### TCodeToolManager.HandleException: "Bezeichner nicht gefunden: 
> TObject" at Line=2 Col=6 in 
> "/mnt/data/source/fpc/fpc-jvm/rtl/android/jvm/androidr14.pas"
> 
> But there is no "TObject" at that position.

"TObject" is the default ancestor of a class. It does not need to be
written in code.
It works here.
Clicking on what identifier?

 
> Also if I do this in a Java project instead of an Android one with an 
> identifier that is declared in jdk15.pp then I get the following error:
> 
> ### TCodeToolManager.HandleException: "Bezeichner nicht gefunden: 
> TObject" at Line=17 Col=6 in 
> "/mnt/data/source/fpc/fpc-jvm/rtl/java/system.pp"
> 
> Using an identifier that is declared in the system unit (JLObject) 
> results in the same error.

It works here. But I don't have a working jvm compiler, so maybe it
has some special defines.


 
> Also a strange behavior: consider the following code:
> 
> === example begin ===
> 
>    THelloWorld = class(OBPJJavaPlugin)

Where is OBPJJavaPlugin defined?


>    private
>      fLog: JULLogger;
>      fFoo: OBPJJavaPlugin;
>    public
>      constructor Create;
>      procedure onEnable;
>      procedure onDisable;
>      procedure onLoad; override;
>    end;
> 
> === example end ===
> 
> I can successfully Ctrl+Click the identifier inside the "class(...)", 
> but I can not do that for the type of fFoo (see above mentioned error). 
> I can also successfully do code completion in the class parent, but not 
> for fFoo (if I do that for the type of fFoo then the code completion 
> jumps to the above mentioned error location in system.pp, which is the 
> "unit system;" line)
> 
> Nevertheless working with the JVM port is much easier now. Thank you 
> very much :)


Mattias




More information about the Lazarus mailing list