Delphi + Android Java类+初始化函数

时间:2018-11-04 14:21:32

标签: delphi firemonkey

在上一个问题(Why I receive Invoke error: method not found之后,我发现了一个问题,并希望将其作为一个新的独立问题

我在Java中有此类:

public class myClass {

  public static void init(String key, Context context) {}

}

在Delphi中,我有:

  JMyClassClass = interface(JObjectClass)
    ['{2E91BB84-D9C9-4569-A687-BCB3684A8DBD}']
    {class} procedure init(key: JString; context: JContext); cdecl;
  end;

  [JavaSignature('com/myClass')]
  JMyClass = interface(JObject)
    ['{2761621D-63E1-4F57-964D-46FBE81DAB8B}']
  end;
  TJMyClass = class(TJavaGenericImport<JMyClassClass, JMyClass>) end;

那我什么时候会在delphi中做

TJMyClass .JavaClass.init(StringToJstring('toto'), TAndroidHelper.Context.getApplicationContext);

我会收到

  

调用错误:找不到方法

如果我将init重命名为其他任何内容(例如初始化为例),那么它将起作用!但由于不是我的图书馆,所以我无法重命名该函数

那么我怎么从delphi调用init函数呢?

0 个答案:

没有答案