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

UFO 007

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

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

  • Посещение

Весь контент UFO 007

  1. Так вот где собака порылась: а то "интерфейситься" не туда, втыкать "левую" перегрузку... А процедура Ваша - "огонь": подключается на "ура", но (куда же без этих "но") напрягает вот этот снэкбар: это - проделки Андрюхи (из глубины ядра)? Избавиться никак нельзя? И а поподробней нельзя?: какими компонентами/экземплярами каких классов/через какие свойства/методы...? А ещё лучше на паскале.
  2. перегрузка function setNetworkSpecifier(networkSpecifier: JWifiNetworkSpecifier): JNetworkRequest_Builder; cdecl; overload; тел пишет: Invoke error: method not found (а чего стоило ожидать?)... А ведь не зря я это (интуитивно) упоминал: оказывается (точнее - как Дэлфе объяснить?) что public final class WifiNetworkSpecifier extends NetworkSpecifier implements Parcelable { моя конструкция кричит (что естественно) "несовместимые типы"... а что касается а процедура возвращает ЧТО? - правильно: void... вот поэтому и функция ИмяФункции(любые параметры):JNetwork;
  3. Я, конечно дико извиняюсь, но сегодня - "не Ваш день": конструкция с присваиванием (мож по-Явовски так и можно, но... [я, кстати, наивно пытался заменить '{' после onAvailable на begin - так подчёркивало красным]) провалилась с треском (то же самое красное подчёркивание)... СитуЁВину вродь как выправило (убралось подчёркивание) такое: Function NetworkonAvailable(network: JNetwork): JNetwork; begin /// тут чё писать - уму не растяжимо: мож Хто подскажет??? end; Function TForm1.WIfiConnect(SSIDtoConnect: string): boolean; .... /// .... Callback.onAvailable(NetworkonAvailable(ConnectivityManager.getActiveNetwork)); ... end но "... меня терзают смутные сомнения ..." что мы с Вами изобретаем такой лИСАпед, который не то, что не взлетит (как должно), а даже - не поедет... З.Ы. Сомнения обосновываются, как минимум, тем, что предка (родителя) WiFiNetworkSpecifier мы переопределили и Х-его-З в какую сторону (поможет это или только помешает???)... В общем - я на "измене" и в успех верится слабо...
  4. "... так вот ты какой, Северный Олень..." или "... а Ларчик открывался просто: ..." просто вместо открывания скобки надо присваивать (:=)... OnePeople, спасибо Вам огромное за то, что якшаетесь со мной как с маленьким... Дело в том, что моё "портфолио" состоит из десятка-полтора VCL-програмулин (для Винды - соответственно и, как видите - у мя тож не ПРОФ, а хобби) а вот с Андрюхой - это мой первый опыт. Но позволю себе заметить: типа: по-библейски - "И был сначала Pascal, потом TurboPascal, потом всё это дело обросло формами, эвентами, мессагами... И лишь на 7-й день явилась Delphi-1..." А потом (которые я пользовал) D7, D2010, xe2, xe8... А потом погнала "Международная панорама": Берлин, Токио, Сиэтл, Рио, Сидней... Пардон - если мой тон показался резковатым. З.Ы. иСЧё раз - огромное спасибо
  5. дык брешет-то с АПИ 23, но подключает (что очень для меня неожиданно т.к. как часы работало только из-под хе8, а 10.3.3 Рио и 10.4.1 Сидней - трассируй/не трассируй не подключалось и что повлияло: Сидней 10.4.2 или (скорее) ветвление по БуилдВерсион)? а на РедМи 9Т (АПИ 29) в настройках ВайВай (удержание значка в "шторке") - ЕСПха только в списке доступных... А по поводу КэлБэк - как на Паскале реализовать такое: 1: networkCallback = new ConnectivityManager.NetworkCallback() { @Override public void onAvailable(Network network) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { manager.bindProcessToNetwork(network); } else { //This method was deprecated in API level 23 ConnectivityManager.setProcessDefaultNetwork(network); } try { //do a callback or something else to alert your code that it's ok to send the message through socket now } catch (Exception e) { e.printStackTrace(); } manager.unregisterNetworkCallback(this); } }); у меня получается: ConnectivityManager:= GetConnectivityManager; if ConnectivityManager <> nil then begin 1: Callback:= TJConnectivityManager_NetWorkCallback.JavaClass.init;//.Create; ConnectivityManager.registerDefaultNetworkCallback(Callback); ConnectivityManager.requestNetwork(NetworkRequest, Callback); Callback.onAvailable(ConnectivityManager.getActiveNetwork); end else ShowMessage('Не удалось получить экземпляр менеджера подключений'); меня смущает то, что у нас метод onAvailable хочет один-единственный параметр (NetWork: JNetWork), а в Яве он разворачивается в целую процедуру (где можно накрапать ого-го-го)... Тем более - он процедура а не булева ф-ция: понять доступна или нет указанная сеть невозможно...
  6. RedMi_4Pro(АПИ_23) хоть и пишет "Not Connected", но при удержании значка ВайВай (что в "шторке") - ESP-007.1M подключено без доступа в интернет (даже после удаления этой сети из списка сохранённых)... Стало быть глючит: function IsWiFiConnected: Boolean; var ConnectivityManager: JConnectivityManager; WiFiNetwork: JNetworkInfo; begin ConnectivityManager := GetConnectivityManager; WiFiNetwork := ConnectivityManager.getNetworkInfo(TJConnectivityManager.JavaClass.TYPE_WIFI); Result := WiFiNetwork.IsConnected; end; а под хе8 пахала на "ура"...
  7. заменил на WifiNetworkSpecifier_Builder.setIsEnhancedOpen(false); и хоть (true), хоть (false) т.е. расширенная/нерасширенная, но открытая (мож и здесь неправильно понимаю), всёрно "Not Connected". (ЕСПэха только в списке доступных)... А мож КэлБэк виноват? (тут, если честно, вообще не догоняю - КэлБэк: это событие, прерывание, или ... ??? когда наступает/происходит и как работает? Если можно, плз, в трёх словах) Заполнил чем под руки попало.
  8. ... подчёркивание пропало, компилится - норм, но тел упорно пишет "Not Connected"... Вот весь код: procedure TForm1.Button1Click(Sender: TObject); var ts: TStringList; begin BuildCode:= TJBuild_VERSION.JavaClass.SDK_INT; memo1.Lines.Add(inttostr(BuildCode)); // ts:= TStringList.Create; // WIfiScan('ESP-007', ts); // memo1.Lines.AddStrings(ts); WIfiConnect('ESP-007.1M'); if IsWiFiConnected then memo1.Lines.Add('Connected') else memo1.Lines.Add('Not Connected'); end; Function TForm1.WIfiConnect(SSIDtoConnect: string): boolean; Var {$IfDEF ANDROID} conf: JWIfiConfiguration; list: JList; iter: JIterator; Capabilities: JNetworkCapabilities; ConnectivityManager: JConnectivityManager; Callback: JConnectivityManager_NetWorkCallback; NetworkRequest_Builder: JNetworkRequest_Builder; NetworkRequest: JNetworkRequest; WifiNetworkSpecifier: JWifiNetworkSpecifier; WifiNetworkSpecifier_Builder: JWifiNetworkSpecifier_Builder; {$EndIf} Begin SSIDtoConnect:= '"'+SSIDtoConnect+'"'; Try if BuildCode < 29 then Begin // SharedActivityContext WIfiManagerObj := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.WIfI_SERVICE); WIfiManager := TJWIfiManager.Wrap((WIfiManagerObj as ILocalObject).GetObjectID); conf:= TJWIfiConfiguration.JavaClass.init; conf.SSID:= StringToJString(SSIDtoConnect);//'"ESP-007.1"'); conf.allowedKeyManagement.&set(TJWIfiConfiguration_KeyMgmt.JavaClass.NONE); netID:= WIfiManager.addNetwork(conf);// добавляем внаглую - не мешало бы проверить может она уже есть в ConfiguredNetworks? list:= wIfiManager.getConfiguredNetworks; iter := list.iterator; While (iter.hasNext) Do Begin conf := TJWIfiConfiguration.Wrap((iter.next as ILocalObject).GetObjectID); If JStringToString(Conf.SSID) = SSIDtoConnect Then// '"ESP-007.1"' Begin wIfiManager.disconnect; wIfiManager.enableNetwork(Conf.networkId, true); wIfiManager.reconnect; // Result:= Sleep(1500); End; End; End Else // BuildCode >= 29 Begin WifiNetworkSpecifier_Builder:= TJWifiNetworkSpecifier_Builder.JavaClass.init; WifiNetworkSpecifier_Builder.setSsid(StringToJString(SSIDtoConnect));//'"'+'wifi-ap-ssid'+'"' WifiNetworkSpecifier_Builder.setWpa2Passphrase(StringToJString('')); // wifi-ap-password WifiNetworkSpecifier := WifiNetworkSpecifier_Builder.build; memo1.Lines.Add('NetworkSpecifier'+JStringToString(WifiNetworkSpecifier.toString)); NetworkRequest_Builder:= TJNetworkRequest_Builder.JavaClass.init; NetworkRequest_Builder.addTransportType(TJNetworkCapabilities.JavaClass.TRANSPORT_WIFI); NetworkRequest_Builder.addCapability(TJNetworkCapabilities.JavaClass.NET_CAPABILITY_INTERNET); NetworkRequest_Builder.setNetworkSpecifier(WifiNetworkSpecifier);// as JNetworkSpecifier NetworkRequest := NetworkRequest_Builder.build; memo1.Lines.Add('NetworkRequest'+JStringToString(NetworkRequest.toString)); ConnectivityManager:= GetConnectivityManager; Callback:= TJConnectivityManager_NetWorkCallback.JavaClass.init;//.Create; if ConnectivityManager <> nil then ConnectivityManager.requestNetwork(NetworkRequest, Callback); Callback.onAvailable(ConnectivityManager.getActiveNetwork); End; Result:= IsWiFiConnected; Except on E: EJNIException do ShowMessage('Произошла ошибка класса: ' +#13 +#10 + E.ClassName +#13 +#10 + 'c сообщением: ' +#13 +#10 + E.Message); End; // If Result Then // MyShwMsg('Подключение: связь с устройством' + #10 + #13 + SSIDtoConnect // + #10 + #13 + ' установлена.'); End; тел точку доступа видит, но... мож дело в setWpa2Passphrase - т.д. открытая: ВайВайМанагер через TJWIfiConfiguration_KeyMgmt.JavaClass.NONE подключался (правда в АПИ23) на "Ура"...
  9. Выкопал в силиконовой долине следующее: public abstract class NetworkSpecifier extends Object java.lang.Объект ↳ спецификация android.net.networks Известные прямые подклассы Спецификатор телефонных сетей, WifiawarenetworkSpecifier, WifinetworkSpecifier ну, а раз уж WifiNetworkSpecifier есть подкласс NetworkSpecifier, то должно быть что-то типа иерархии: type JWifiNetworkSpecifier = class(TJNetworkSpecifier) ... end; наследник-то будет вродь-как совместимого типа... После ребута Дэлфей выглядеть стало поприятней но красное подчёркивание говорит, что нет такой перегрузки
  10. [DCC Error] wifi_sdk.pas(167): E2250 There is no overloaded version of 'setNetworkSpecifier' that can be called with these arguments В Androidapi.JNI.Net прописано: [JavaSignature('android/net/NetworkRequest$Builder')] JNetworkRequest_Builder = interface(JObject) ['{AA7B1C54-8947-4A75-AEAB-8983141D28A7}'] function addCapability(capability: Integer): JNetworkRequest_Builder; cdecl; ... function setNetworkSpecifier(networkSpecifier: JString): JNetworkRequest_Builder; cdecl; overload; function setNetworkSpecifier(networkSpecifier: JNetworkSpecifier): JNetworkRequest_Builder; cdecl; overload; end; и добавление function setNetworkSpecifier(networkSpecifier: JWiFiNetworkSpecifier): JNetworkRequest_Builder; cdecl; overload; ситуЁвину не выправляет - а ведь нативный (Явовский) Буилдер (точнее его setNetworkSpecifier) принимает параметр именно типа WiFiNetworkSpecifier - как ето дело объегорить?
  11. И иСЧё раз огромнейшее СПАСИБО!!! И, пардон, но Ефимовский Androidapi.JNI.net.wifi.pas прикручен был ещё к Dxe8 (где я успешно написал и откатал прогу, но... для API 23 а проблемы "несостыковки" начались с появлением у мя Honor 8A [API 28] и RedMI 9T[API 29]) а вот то, что в нём может оказаться искомый специфер - ет протормозил (ещё раз Мерси). Ну и само-собой: if TJBuild_VERSION.JavaClass.SDK_INT < 29 then WiFiManger else Specifiers
  12. Если я правильно усёк, то это там, где context.getSystemService а там, где ... = New ... => по-нашему будет .Create. А по поводу это - к Ярославу Бровину (если не изменяет память) или (точнее) к его конторе (Ембаркадеро)... Ну, или кто поумнее(пограмотней) моего подскажет где (в каком файле) и что нужно прописать чтобы к нативному (явовскому) JWifiNetworkSpecifier-у приинтерфейситься правильно...
  13. TJWifiNetworkSpecifier и его Буилдер: [DCC Error] wifi_sdk.pas(81): E2003 Undeclared identifier: 'JWifiNetworkSpecifier_Builder' как быть? в файле Androidapi.JNI.Net.pas. прописал JWiFiNetworkSpecifierClass = interface(JObjectClass) ['{09C5C88A-A950-4C2F-B0F0-E03989C16220}'] end; [JavaSignature('android/net/WiFiNetworkSpecifier')] JWiFiNetworkSpecifier = interface(JObject) ['{04D0A623-E880-404E-8E1D-8CC4DDB8DCAF}'] end; TJWiFiNetworkSpecifier = class(TJavaGenericImport<JWiFiNetworkSpecifierClass, JWiFiNetworkSpecifier>) end; и всёрно Е2003...:(
  14. Спасибо Огромное!!! Ну, допустим, Manager у меня "завёрнут" более-или-менее симпотЯШно: function GetConnectivityManager: JConnectivityManager; var ConnectivityServiceNative: JObject; begin ConnectivityServiceNative := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.CONNECTIVITY_SERVICE); if not Assigned(ConnectivityServiceNative) then raise Exception.Create('Could not locate Connectivity Service'); Result := TJConnectivityManager.Wrap((ConnectivityServiceNative as ILocalObject).GetObjectID); if not Assigned(Result) then raise Exception.Create('Could not access Connectivity Manager'); end; а за остальное - нижайший поклон. А по поводу как раз и хотел бы разобраться (т. е. понять для себя) - какая разница между .Create, и .Wrap (где можно/НЕможно-нужно/НЕнужно применять или в такой-то ситуации необходимо .Create, а в такой-то только .Wrap) а из Ваших подсказок вытекает, что ещё и .Init существует... Я к тому, что в VCL ничего кроме Create не существовало, а в fmx - в какой ситуации и кого из этой троицы задействовать? Спасибо.
  15. Спасибо, конечно, огромное, но... из-за постоянного апдейта SDK (новому железу - новые библиотИки) вылазит конфликт, благодаря которому, свой "скелет" пришлось реализовывать на Яве. Хотя - может стОит присмотреться к Вашему "исходнику" (мож даже на яву "перевести")... А вообще в потоки я не въехал изначально: у ZX-Spectrum (если не изменяет память) были ещё и каналы - отсюда и путаница: придётся восполнять пробелы... Да и в Дэлфе упёрся в интерфейсы Явовских классов... Вот теперь и на распутье...
  16. ... вместе с AS на предмет редактора формы Дэлфе и в подмётки не годятся... Да и компилит/деплоит/инсталлит Дэлфя уж по сравнением с Хамарином вдвое (если не втрое) быстрее.
  17. Доброго всем времени суток. Перевожу на Pascal такое: WifiNetworkSpecifier.Builder builder = new WifiNetworkSpecifier.Builder(); builder.setSsid("wifi-ap-ssid"); builder.setWpa2Passphrase("wifi-ap-password"); WifiNetworkSpecifier wifiNetworkSpecifier = builder.build(); NetworkRequest.Builder networkRequestBuilder1 = new NetworkRequest.Builder(); networkRequestBuilder1.addTransportType(NetworkCapabilities.TRANSPORT_WIFI); networkRequestBuilder1.setNetworkSpecifier(wifiNetworkSpecifier); NetworkRequest nr = networkRequestBuilder1.build(); ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); cm.requestNetwork(nr, callback); И уже вродь-как начало сростаться, но упёрся вот в какую штуку: в выпадающем списке доступных методов и свойств напрочь отсутствуют след. св-ва: TRANSPORT_BLUETOOTH, TRANSPORT_CELLULAR, TRANSPORT_ETHERNET, TRANSPORT_VPN, TRANSPORT_WIFI и TRANSPORT_WIFI_AWARE... Но если суслика не видно, то он - есть: JNetworkCapabilitiesClass = interface(JObjectClass) ['{E908BEFD-1FFE-4DBA-B9F3-48CE1E205BDE}'] {class} function _GetCREATOR: JParcelable_Creator; cdecl; .... {class} function _GetTRANSPORT_BLUETOOTH: Integer; cdecl; {class} function _GetTRANSPORT_CELLULAR: Integer; cdecl; {class} function _GetTRANSPORT_ETHERNET: Integer; cdecl; {class} function _GetTRANSPORT_VPN: Integer; cdecl; {class} function _GetTRANSPORT_WIFI: Integer; cdecl; {class} function _GetTRANSPORT_WIFI_AWARE: Integer; cdecl; .... {class} property TRANSPORT_BLUETOOTH: Integer read _GetTRANSPORT_BLUETOOTH; {class} property TRANSPORT_CELLULAR: Integer read _GetTRANSPORT_CELLULAR; {class} property TRANSPORT_ETHERNET: Integer read _GetTRANSPORT_ETHERNET; {class} property TRANSPORT_VPN: Integer read _GetTRANSPORT_VPN; {class} property TRANSPORT_WIFI: Integer read _GetTRANSPORT_WIFI; {class} property TRANSPORT_WIFI_AWARE: Integer read _GetTRANSPORT_WIFI_AWARE; end; [JavaSignature('android/net/NetworkCapabilities')] JNetworkCapabilities = interface(JObject) ['{E9EBA97B-F82A-41BA-8170-537E131E0533}'] function describeContents: Integer; cdecl; function equals(obj: JObject): Boolean; cdecl; function getLinkDownstreamBandwidthKbps: Integer; cdecl; function getLinkUpstreamBandwidthKbps: Integer; cdecl; function hasCapability(capability: Integer): Boolean; cdecl; function hasTransport(transportType: Integer): Boolean; cdecl; function hashCode: Integer; cdecl; function toString: JString; cdecl; procedure writeToParcel(dest: JParcel; flags: Integer); cdecl; end; TJNetworkCapabilities = class(TJavaGenericImport<JNetworkCapabilitiesClass, JNetworkCapabilities>) end; вместе с троеточиями = 70 строк и всё это в файле Androidapi.JNI.Net.pas. На картинке мы видим то, чем богат интерфейс JObject-а JNetworkCapabilities, а вот как (объясните, пожалуйста, чайнику) вытащить свойства из интерфейса JNetworkCapabilitiesClass? З.Ы. И на закуску (мож не по теме) - чем отличается конструкция: NetworkSpecifierObj:= TAndroidHelper.Context.getSystemService(TJContext.JavaClass.CONNECTIVITY_SERVICE); NetworkSpecifier:= TJNetworkSpecifier.Wrap((NetworkSpecifierObj as ILocalObject).GetObjectID); от NetworkSpecifier:= TJNetworkSpecifier.Create; Заранее благодарен. З.Ы. З.Ы. Среда - Delphi 10.4.2
  18. да отладчик-то - фиг ли с ним, но прога не работает - не видит точки доступа... по-видимому другой альтернативы нет и придётся грызть ASовскую Яву
  19. Прошу прощения за отлучку - "... дела, заботы, занятость...": точнее - Big Surом занимался... это "говорит" прога, а если глянуть /Настройки/ВайВай, то там подключено к нужной железяке - оказывается, что (грешу на то, что после Формата Ц) перестала работать конструкция: function GetConnectivityManager: JConnectivityManager; var ConnectivityServiceNative: JObject; begin ConnectivityServiceNative := SharedActivityContext.getSystemService(TJContext.JavaClass.CONNECTIVITY_SERVICE); if not Assigned(ConnectivityServiceNative) then raise Exception.Create('Could not locate Connectivity Service'); Result := TJConnectivityManager.Wrap((ConnectivityServiceNative as ILocalObject).GetObjectID); if not Assigned(Result) then raise Exception.Create('Нет доступа к менеджеру подключений'); end; function IsWiFiConnected: Boolean; var ConnectivityManager: JConnectivityManager; WiFiNetwork: JNetworkInfo; begin ConnectivityManager := GetConnectivityManager; WiFiNetwork := ConnectivityManager.getNetworkInfo(TJConnectivityManager.JavaClass.TYPE_WIFI); Result := WiFiNetwork.IsConnected; end; Function TForm1.SendMsg(Msg: string): string; Begin Try if not IsWiFiConnected then Begin Showmessage('Связь с Комплексом отсутствует'+#13+#10+Msg); scansensors:= true; btMonitorClick(SELF); End else Begin Form1.IdUDPClient1.SEnd(Msg, IndyTextEncoding(encIndyDefault)); //отправка сообщени¤ в сеть Result:= Form1.IdUDPClient1.ReceiveString(-1, IndyTextEncoding(encUTF8)); End; if Msg<>'Get_Status' then MyShwMsg('От Комплекса принято: '+Result); except on E: EJNIException do Begin MyShwMsg('Произошла ошибка класса: '+e.ExceptionClassName+#13+#10+'с сообщением: '+e.Message); End; End; End; вернее - стала возвращать: "Связь с Комплексом отсутствует"... Что - по новой форматить/ресетапить винду? пардон, конечно, но Ваша горячо любимая AS напрочь забыла скачать папку e:\0_Android\StudioSDK\ndk\22.0.7026061\platforms оно-то конечно, ежели что - так, ведь теперича - не то, что давеча... Однако под ХЕ8-ой всё взлетает в диапазоне SDK-16..SDK-30 (НДК - правда надо подбирать поближе, а то связка SDK-30/NDK-r10e (или наоборот [щас не помню] - SDK-16/NDK-r22) - не взлетела...) А что касабельно Рио (10.3.3) - тут засада ПОЛНАЯ: от точки останова до голубой стрелки - 2 нажатия F8: т. е. отладчик на строку цикла даже не заглядывает (бред какой-то) хоть Вайл, хоть Фор (к стати фиг. скобками заREMировано то, что под ХЕ8 (аж до Луны) летает...). А по сему - на счёт "сырой технологии" я с Вами не совсем (точнее: совсем не) согласен... Вот такой-вот сыр-бор... И чё делать? Ведь ХЕ8 под х64 компилить не умеет, а Рио - тупит...
  20. Доброго всем времени суток! Имею следующее: Яndex по поводу 'изящно закрытого соединения' говорит, что это - не ошибка, а просто "та сторона" (в данном случае Big Sur) неожиданно (для Делфи) его закрыла. А предыстория такая: начитался, накачался, установился/распаковался и вперёд... Благо - paserver.pkg прямо drag-and-dropом прямо из винкомандёра на рабочий стол БигСура скопировался, там установился и... результат - на картинке... и только потом вычитал, что сначала надо обновить систему и ХКоде до последней версии и, как вариант, этот образ в мусорку - распаковал по-новой, обновил, установил XCode и (О, Чудо!!!) увидел АйПад симулятора - вот только не помню в какой момент в терминале ПаСервера выскочила ошибка 231: когда прогрессбар под яблоком ещё "тикал" или когда уже появился рабочий стол... И по ходу немыслимых эксКриментов дело дошло до "Формат Ц" (с ресетапом винды), но "... воз и ныне там ...". Как побороть эту ошибку (231)??? Печёнкой чую, что где-то есть *.log в котором чёрным по белому "до безобразия разжёвано" что (и где) за фигня происходит... Вот только где этот *.лог искать? Покопался в папке /Users/admin/PAServer и Финдером, и Оне Коммандером, но ничё похожего не нашёл... Какие будут предложения/замечания/.../нравоучения? ЗаРанее благодарен
  21. похоже - не очень... (Мож, конечно, ему некогда сюда заглянуть???)
  22. "... Не будет ли любезен многоуважаемый джин ..." перевести это на Паскаль, ну или учебно-тренировочный *.pas (без бизнес-логики) приаттачить. Спаибо.
  23. А вот отсюда поподробней... Нашёл только NDK (Side by side) версия 22.0.7026061 (revision: 22.0.7026061) - щас качается... А вообще-то чуть ранее наяндексил android-ndk-r22-windows-x86_64.zip (с сайта разработчика, а r23 - пока beta) - разница какая-нить есть? = нету: AS качает тот же zip... И где бы посмотреть табличку соответствия СДКтакой-то = НДКтакой-то? Потому что разница между android-23 скачанным Delphi и AS СДК-манагерами составляет всего-то 1 файл (красный): и как результат - разницы нет абсолютно никакой откуда я прописываю в Тулс\Опшенс\Деплоймент\СДК Манагер... А вот про таблицу соответствия спросил я не зря: если компилить нативной для ХЕ8 НДК-r9c (СДК - соответственно: 23, а не дефолтным 21), то (тут уже прогресс) всё пучком и РедМи даже "видит" железяки - правда подключиться не может. А если прописать НДК-22, то получаю Errors 1053(шт) с сообщением: [DCC Error] E2597 C:\Program Files (x86)\Embarcadero\Studio\16.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -lgnustl_static E:\0_ESP_12\PAKUOS_xe8\Android\Debug\Grijjy.ErrorReporting.o:Grijjy.ErrorReporting:function Grijjy::Errorreporting::cxa_demangle(char const*, char*, NativeInt, int&): error: undefined reference to '__cxa_demangle' [DCC Fatal Error] F2588 Linker error code: 1 ($00000001) Как со всем этим разобраться? Заранее благодарен и З.Ы. Уму не растяжимо: (из Предисловия) с месяц назад поставил ХЕ5 попробовал - получил (щас уже не помню какую) "палку в колёса", снёс, поставил ХЕ8, набросал (благодаря Вашим исходникам с ГитХаба) скелет, одел его в симпатичный пиджак и, не подозревая о существовании СДК/НДК, "компильнул" его в РедМи и всё работало ОК: и обнаруживал железяки, и подключался к ним, и рулил ими как задумывалось, но Хонор это же самое делать отказался... И давай копать в сторону СДК/НДК... Ну, а в порьбе за светлое будущее - чем дальше в лес: тем толще партизаны...
  24. Глубоко сУмЛеваюсь (на счёт скачать) - это в .7z(ip) архивах стандартной комплектации идёт... А на счёт "... записываю ..." - эт только в долгом и нудном ISO может отражается, а lSuper их не подписывает... Скачал и поставил AS, но там только СДК-30 (Адрюха-11)... Надо разбираться как через AS СДК-23 выкопать...
  25. А как на счёт c:\Users\Public\Documents\Embarcadero\Studio\20.0\PlatformSDKs\android-sdk-windows\SDK Manager.exe? Когда, где и как?... Переустановить - не вопрос: главное - отловить этот момент. Установить AS - тоже не вопрос: главное - понять что именно она "... хотела поставить ..." Спс.
×
×
  • Создать...