Перейти к содержанию
Fire Monkey от А до Я

void

Пользователи
  • Постов

    12
  • Зарегистрирован

  • Посещение

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

Достижения void

  1. Походу все-таки нужен jar вышеприведенный класс используется в: C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\android\debug\google-play-billing.jar Который в свою очередь подключается в delphi В AndroidStudio сгенерировались Java файлы с интерфейсами в Java Теперь вопрос: Как из этих файлов сделать jar библиотеку? используя все зависимости от андроида
  2. В delphi есть класс который реализует похожую (с VisualStudio - например) технологию подключения интерфейсов unit Androidapi.JNI.InAppBilling; {*******************************************************} { } { CodeGear Delphi Runtime Library } { Copyright(c) 2013-2018 Embarcadero Technologies, Inc. } { All rights reserved } { } {*******************************************************} unit Androidapi.JNI.InAppBilling; uses Androidapi.JNIBridge, Androidapi.JNI.JavaTypes, Androidapi.JNI.Os; type // ===== Forward declarations ===== JIInAppBillingService = interface;//com.android.vending.billing.IInAppBillingService JIInAppBillingService_Stub = interface;//com.android.vending.billing.IInAppBillingService$Stub // ===== Interface declarations ===== JIInAppBillingServiceClass = interface(JIInterfaceClass) ['{914929AF-917C-4D7E-842C-656701CACCE7}'] end; [JavaSignature('com/android/vending/billing/IInAppBillingService')] JIInAppBillingService = interface(JIInterface) ['{03D4C897-6265-4854-97C6-415F5C846C0E}'] function consumePurchase(apiVersion: Integer; packageName: JString; purchaseToken: JString): Integer; cdecl; function getBuyIntent(apiVersion: Integer; packageName: JString; sku: JString; type_: JString; developerPayload: JString): JBundle; cdecl; function getPurchases(apiVersion: Integer; packageName: JString; type_: JString; continuationToken: JString): JBundle; cdecl; function getSkuDetails(apiVersion: Integer; packageName: JString; type_: JString; skusBundle: JBundle): JBundle; cdecl; function isBillingSupported(apiVersion: Integer; packageName: JString; type_: JString): Integer; cdecl; end; TJIInAppBillingService = class(TJavaGenericImport<JIInAppBillingServiceClass, JIInAppBillingService>) end; JIInAppBillingService_StubClass = interface(JBinderClass) ['{77F4F8A3-E103-4CC1-AB9A-D373F71C6D4C}'] {class} function init: JIInAppBillingService_Stub; cdecl; {class} function asInterface(obj: JIBinder): JIInAppBillingService; cdecl; end; [JavaSignature('com/android/vending/billing/IInAppBillingService$Stub')] JIInAppBillingService_Stub = interface(JBinder) ['{A5D13E53-F09B-4972-A639-BF7D7B81C242}'] function asBinder: JIBinder; cdecl; function onTransact(code: Integer; data: JParcel; reply: JParcel; flags: Integer): Boolean; cdecl; end; TJIInAppBillingService_Stub = class(TJavaGenericImport<JIInAppBillingService_StubClass, JIInAppBillingService_Stub>) end; implementation procedure RegisterTypes; begin TRegTypes.RegisterType('Androidapi.JNI.InAppBilling.JIInAppBillingService', TypeInfo(Androidapi.JNI.InAppBilling.JIInAppBillingService)); TRegTypes.RegisterType('Androidapi.JNI.InAppBilling.JIInAppBillingService_Stub', TypeInfo(Androidapi.JNI.InAppBilling.JIInAppBillingService_Stub)); end; initialization RegisterTypes; end. пробовал подключить подобным образом Обращение (для подключения к интерфейсу): .... FService := TJIInAppBillingService_Stub.JavaClass.asInterface(service); .... Но в моем случае выдает ошибку при таком обрашщении: Java class JIInAppBillingService_Stub could not be found УСЛОВНО (т.е. мой класс а не в примере): Java class MyClass_Stub could not be found JavaSignature - перепроверено названия классов ЧТО НУЖНО для этого обращения еще, кроме выше приведенного класса, чтобы взлетело подобное обращение?
  3. Добрый день. Собственно вопрос: Как подключить интерфейсы AIDL к Delphi? Есть опыт подключения jar бибилиотек. Тут описано как действовать если есть jar файлы. А если их нет? Есть только AIDL файлы....
  4. Интересует вопрос подключение AIDL файлов. Есть варианты?
  5. Спасибо Все РЕШИЛОСЬ установкой - Delphi 10.3.1 как и во всех (подобных) ошибках в XCode, описаных для mac, все решалось установкой либо более старой либо более новой версией
  6. Вопрос звучит так в более развернутом виде: Заново стягивал с помощью UpdateLocalCache ? или другим средством ? но ответ уже получен в твоем --------------------------------------------------------- Что не понятно из?: На нескольких машинах Другого способа стягивать не знаю кроме UpdateLocalCache? Вот и спросил: Надеюсь так понятней будет. И не кинешься снова объяснять:
  7. 1. (заново стягивал UpdateLocalCache ?) Раз 10-ть делали Все ломается строго при переходе с 11.2 -> 12.1 2. не зависело от этого 3. Как отче наш
  8. 1) Delphi -> Project Options -> Building -> Delphi Compiler -> Linking -> Option passed to the LD linker Добавил нужные для компиляции зависимости стороннего framework с соответствующими параметрами и бибилиотеками у меня например: -ObjC -L C:\Users\Andrey\Documents\Embarcadero\Studio\SDKs\iPhoneOS12.1.sdk\usr\lib ..\_CommonModules\YandexMetrica\Frameworks\Foundation.framework\Foundation ...... ..... -lsqlite3 -lz -lc++ (после такой линковки второй пункт не понадобился) Но на всякий дополню 2) dependency 'stdc++', 'z';
  9. Добрый день. (Delphi 10.3) (XCode 10.1) Подключил статический framework на версии SDK 11.2 (macMini) как описано в: ВСЕ ЗАРАБОТАЛО! После обновления: 1) macMini к XCode 10.1 SDK 12.1 PAServer 20.0 2) windows PAServer 20.0 3) PAServer - конектится 4) прописал дополнительные SDK (Delphi -> SDK Manager -> Properties) 5) Получил SDK 12 на windows (Delphi -> Update Local File Cache) 6) Пути в Linking изменил для SDK12 При сборке выдает ОШИБКУ: [DCC Error] E2597 Undefined symbols for architecture arm64 (для 32 - armv7):... [DCC Fatal Error] F2588 Linker error code: 1 ($00000001) Кто нибудь сталкивался с такой ошибкой после обновления?
  10. Добрый день . Тема про клонирвание (http://fire-monkey.ru/topic/60-клонирование-компонента-в-runtime/) закрыта - поэтому задаю вопрос здесь! Меняю в RunTime Этементы стиля (по умолчанию в стиле = 0) Object.StylesData['Element.Width'] := 100 Затем клонинрую объект ObjectClone := Object.Clone(Object)); Получаем ObjectClone.StylesData['Element.Width'] == 0 Собственно вопрос Как клонировать измененные значения? Не задавая их отдельно - потом
×
×
  • Создать...