Delphi + Android класс Java + функция инициализации - PullRequest
0 голосов
/ 04 ноября 2018

после моего предыдущего вопроса ( Почему я получаю ошибку Invoke: метод не найден ), я обнаружил проблему и хочу сделать ее новым отдельным вопросом

У меня есть этот класс в 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;

тогда когда я буду делать в дельфи

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

я получу

Ошибка вызова: метод не найден

если я переименую init во что-нибудь еще (как, например, initialize для примера), это будет работать! но так как это не моя библиотека, я не могу переименовать функцию

так как я могу вызвать функцию init из delphi?

...