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

Камышев Александр

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

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

  • Посещение

  • Победитель дней

    9

Весь контент Камышев Александр

  1. extern "C" int FMXmain() { try { GlobalUseDXInDX9Mode = true; Application->Initialize(); Application->CreateForm(__classid(TdmSUHttpClient), &dmSUHttpClient); Application->CreateForm(__classid(TForm1), &Form1); Application->Run(); } не заметил тормозов и проблем, работает вроде, это конечно не графический движок современной видеоигры... по теме должно помочь
  2. Берлин не виноват, ошибку возвращает WinAPI, кроме драйверов видео и DirectX ничего и не сделать, разве что DLL попробовать подсунуть. В oldschool VCL не было обращений к directx, там были GDI и GDIplus, а FMX видимо графику сразу по-взрослому рисует в 3d.
  3. может в Delphi так, в CBuider брейкпоинт работает на любом открытом файле применительно к этой теме - какие потоки в FormShow? только ленивый не найдет на какой строке у него все падает
  4. FMX TSpinBox, windows, android. Пользователь вводит значения с клавиатуры, поле Value компонента при этом не меняется до нажатия Enter. Если не нажать ввод, после потери фокуса значения останутся прежними. При этом если вводить текст в TEdit его поле Text изменяется сразу, без дополнительного подтверждения (не надо Enter тыкать). У пользователя когнитивный диссонанс, что можно сделать?
  5. а в чем проблема с пошаговой отладкой под андроид? PHP на удаленном юниксе в NetBeans по шагам отладка настраивается, а тут в винде устройство висит на шнуре и нельзя? в XE7 еще были проблемы, в XE10 дебаггер православный
  6. Дебаггер не используете что ли? Тупо брикпоинт на OnShow и по шагам идти до ошибки - F7,F8,F9 в помощь
  7. крайние ситуации требуют крайних мер
  8. Я был удивлен когда библиотеки вообще собрались, не прошло и часа... Идеально будет если они будут работать и на atom и на arm
  9. да что ж такое... тогда радикально, пробовать грузить arm библиотеки, по исключению пробовать грузить atom еще вариант архитектуру в настройки приложения, пусть пользователь настраивает
  10. у ZuBy есть DeviceInfo, может он подскажет. http://fire-monkey.ru/topic/1762-deviceinfo-modul-dlya-polucheniya-informacii-o-devayse/?do=findComment&comment=14057 - очень полезная разработка есть System.SysUtils.TOSVersion.TArchitecture, в винде показывает х64, в андроид с arm у меня пустые поля, на x86 наверно покажет. http://docwiki.embarcadero.com/Libraries/XE5/en/System.SysUtils.TOSVersion.TArchitecture в реализации можно так: String docs_path = System::Ioutils::TPath::GetDocumentsPath(); if ( atom ) IdOpenSSLSetLibPath( docs_path + "/lib_atom/" ); else if ( arm ) IdOpenSSLSetLibPath( docs_path + "/lib_arm/" ); else {} отдельный APK для x86 - неизящно
  11. компиляция шла около часа, вот если кому нннада файлы библиотек x86.zip
  12. скачал в c:/openssl-android-master исходники, скачал AndroidNDK в d:\ndk\ исправил jni/Application.mk: APP_PROJECT_PATH := $(shell pwd) APP_BUILD_SCRIPT := c:/openssl-android-master/Android.mk APP_ABI := x86 далее в cmd: C:\Windows\system32>cd c:\openssl-android-master c:\openssl-android-master>d:\ndk\ndk-build process_begin: CreateProcess(NULL, pwd, ...) failed. Android NDK: WARNING:c:/openssl-android-master/crypto/Android.mk:crypto_ LOCAL_LDLIBS is always ignored for static libraries [x86] Compile : crypto <= cryptlib.c c:/openssl-android-master/crypto/cryptlib.c: In function 'CRYPTO_THREADI t': c:/openssl-android-master/crypto/cryptlib.c:503:34: warning: passing arg of 'CRYPTO_THREADID_set_pointer' discards 'volatile' qualifier from poin et type CRYPTO_THREADID_set_pointer(id, &errno); ^ c:/openssl-android-master/crypto/cryptlib.c:431:6: note: expected 'void rgument is of type 'volatile int *' void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr) ^ [x86] Compile : crypto <= mem.c [x86] Compile : crypto <= mem_clr.c [x86] Compile : crypto <= mem_dbg.c минут 10 уже компилит, жду результата
  13. то что Delphi mobile compilers не работают с AnsiString - это проблема пользователей Delphi mobile compilers и минус Delphi, никак не Андроид. AnsiString - удобный инструмент для работы в CBuilder с ASCI и cp1251 в частности, к примеру заголовки http пакета по стандарту ASCI.
  14. в Berlin FMX нет AnsiString? да как так то, не может быть, в Seattle же есть... со строками есть момент такой, сразу код, так понятней: host = url; int pos = host.AnsiPos( "://" ); #ifdef WIN32 if ( pos ) host.Delete( 1, pos + 2 ); #endif #ifdef __ANDROID__ if ( pos ) host.Delete( 0, pos + 2 ); #endif в общем начало строки с 1 либо с 0
  15. что ж теперь не пользоваться indy? ssl и в других проектах пригодится, вот тут про сборку https://habrahabr.ru/company/intel/blog/271013/ Библиотеки OpenSSL Рассмотрим сборку библиотек OpenSSL для Android-устройств, построенных на базе архитектуры x86. Предварительная подготовка Для дальнейшей работы нам понадобится следующее. Главный компьютер, работающий под управлением ОС Windows 7 или более поздней. Так как библиотеки OpenSSL написаны на чистом C, для сборки будет достаточно Android NDK, в который встроена поддержка для кросс-компиляции библиотек для заданных платформ (ARM, x86 и других). Исходный код библиотек OpenSSL для Android можно загрузить из репозиториев eighthave или guardianproject. Сборка для платформы x86 Выбрать целевую платформу сборки можно так же, как и для любого другого Android-приложения, используя установки Application Binary Interface (ABI). В нашем случае в файле jni/Application.mk должно присутствовать следующее: APP_ABI := x86 Итак, после того, как NDK загружен и установлен, исходный код Android OpenSSL так же загружен и размещён в локальной папке (например, в C:\openssl-android-master), для сборки библиотек нужно будет сделать следующее. Откройте окно командной строки (cmd.exe). Перейдите в папку, где расположены файлы OpenSSL для Android. Например, такой командой: Не забудьте указать для сборки целевую платформу x86: APP_ABI := x86 Выполните команду NDK для запуска сборки: C:\openssl-android-master > ndk-build После её успешного завершения будут созданы OpenSSL-библиотеки libssl и libcrypto, расположенные, в нашем случае, здесь: C:\openssl-android-master\libs\x86\libcrypto.so C:\openssl-android-master\libs\x86\libssl.so
  16. Хранить в реляционной БД медиафайлы тоже ни разу не идеально, скорее жуткий моветон. Если качать с сервера файлы не алё, то вот здесь обсуждался вариант с менеджером ресурсов http://fire-monkey.ru/topic/31-vklyuchenie-svoih-faylov-v-prilozhenie/?do=findComment&comment=83
  17. android, xe10 Присутствует ввод текста и целых чисел в контролы, после нажатия Enter значение изменяется, клавиатура остается. Как скрыть клавиатуру по прохождению vkReturn (клавиша enter)?
  18. В Synchronize еще и critical section - это финт ушами, достаточно critical_section. По скрину видно только туеву хучу срэдов, где проблема? где краш? приложение зависает или черный экран?
  19. Align = Scale - удачный выбор, в oldschool Delphi и CBuilder такого не было, в Anchors выставляли руками масштабирование. Кстати, если кнопки надо изменять только в ширину, то это в Anchors
  20. По всему не установлены SDK Intel x86, соответственно проблема не в них. Анекдот. При головных болях Врач пациенту: бросай курить, Пациент: я не курю, Врач: попробуй закурить. 1. поискать libssl под х86, пишут что они где-то уже есть в системе у GT. 2. попробовать обновить библиотеки SDK для x86, т.е. если нельзя удалить х86 то надо их поставить применить метод научного тыка
  21. на скрине в Remote Path нет строчки library\lib\x86\, которую надо исключить... непонятно, в Type это AndroidLibnativeX86File тестировалось на CBuilder XE7 и XE10 APK файл - это zip архив, его открыть, там папка lib, в ней папки armeabi, armeabi-v7a, mips и x86. Вот оттуда удалить x86. У меня подозрение что ее там не будет... если нет в deployment
×
×
  • Создать...