-
Постов
235 -
Зарегистрирован
-
Посещение
-
Победитель дней
9
Сообщения, опубликованные Камышев Александр
-
-
Только что, ZuBy сказал:
Можно и перевести в режим GDI+
интересно, код в студию
-
-
Дельфя была первой в мире? да ладно
-
может в Delphi так, в CBuider брейкпоинт работает на любом открытом файле
применительно к этой теме - какие потоки в FormShow?
только ленивый не найдет на какой строке у него все падает
-
FMX TSpinBox, windows, android.
Пользователь вводит значения с клавиатуры, поле Value компонента при этом не меняется до нажатия Enter.
Если не нажать ввод, после потери фокуса значения останутся прежними.
При этом если вводить текст в TEdit его поле Text изменяется сразу, без дополнительного подтверждения (не надо Enter тыкать).
У пользователя когнитивный диссонанс, что можно сделать?
-
2 минуты назад, krapotkin сказал:
OFF: угу. на андроиде походишь. сегодня в очередной раз ходил-ходил, не выходил...
а в чем проблема с пошаговой отладкой под андроид?
PHP на удаленном юниксе в NetBeans по шагам отладка настраивается, а тут в винде устройство висит на шнуре и нельзя?
в XE7 еще были проблемы, в XE10 дебаггер православный
-
1 час назад, zekelive сказал:
пробовал в потоке. вызываю его в событии onshow. реакция на это такая же, как бы я это делал в onshow. Хотела еще добавить что картинки должны загрузиться И после этого выполниться анимация показа этих картинок. Интересно, именно эта анимации может как раз и вызывать проблемы?
Дебаггер не используете что ли? Тупо брикпоинт на OnShow и по шагам идти до ошибки - F7,F8,F9 в помощь
-
-
14 часов назад, Kitty сказал:
Доступ к планшету х86 у меня будет завтра. Ради эксперимента решила попробовать новый АРК с новыми libcrypto.so и libssl.so на своем планшете arm.
Искренне пологая, что письмо не должно уйти т.к. файлы libcrypto.so и libssl.so взяты для х86. Очень странно но письмо ушло. Не понятно почему работает на arm?
Я был удивлен когда библиотеки вообще собрались, не прошло и часа... Идеально будет если они будут работать и на atom и на arm
-
да что ж такое... тогда радикально, пробовать грузить arm библиотеки, по исключению пробовать грузить atom
еще вариант архитектуру в настройки приложения, пусть пользователь настраивает
-
у 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 - неизящно
-
-
1 час назад, Kitty сказал:
Подскажите, как правильно? Спасибо.
скачал в 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 уже компилит, жду результата
-
то что Delphi mobile compilers не работают с AnsiString - это проблема пользователей Delphi mobile compilers и минус Delphi, никак не Андроид.
AnsiString - удобный инструмент для работы в CBuilder с ASCI и cp1251 в частности, к примеру заголовки http пакета по стандарту ASCI.
-
56 минут назад, krapotkin сказал:
в АНДРОИДЕ нет AnsiString
и не должно быть
XE10, CBuilder, android, работаю с AnsiString, String и std::string - по ситуации, может в Delphi нет, а Андроид то тут причем?
-
в 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
-
что ж теперь не пользоваться 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
-
Главный компьютер, работающий под управлением ОС Windows 7 или более поздней.
-
9 минут назад, Alesk сказал:
такой способ не идеален
Хранить в реляционной БД медиафайлы тоже ни разу не идеально, скорее жуткий моветон.
Если качать с сервера файлы не алё, то вот здесь обсуждался вариант с менеджером ресурсов http://fire-monkey.ru/topic/31-vklyuchenie-svoih-faylov-v-prilozhenie/?do=findComment&comment=83
-
android, xe10
Присутствует ввод текста и целых чисел в контролы, после нажатия Enter значение изменяется, клавиатура остается.
Как скрыть клавиатуру по прохождению vkReturn (клавиша enter)?
-
-
27 минут назад, ZuBy сказал:
dbCS.Acquire;
что это? можно подробнее?
TCriticalSection
-
16 часов назад, POV сказал:
Накидал компоненты на форму как тебе нравится и задал всем это свойство.
При изменении размеров формы всё пропорционально масштабируется.
Align = Scale - удачный выбор, в oldschool Delphi и CBuilder такого не было, в Anchors выставляли руками масштабирование.
Кстати, если кнопки надо изменять только в ширину, то это в Anchors
-
По всему не установлены SDK Intel x86, соответственно проблема не в них.
Анекдот. При головных болях Врач пациенту: бросай курить, Пациент: я не курю, Врач: попробуй закурить.
1. поискать libssl под х86, пишут что они где-то уже есть в системе у GT.
2. попробовать обновить библиотеки SDK для x86, т.е. если нельзя удалить х86 то надо их поставить
применить метод научного тыка
-
на скрине в Remote Path нет строчки library\lib\x86\, которую надо исключить... непонятно, в Type это AndroidLibnativeX86File
тестировалось на CBuilder XE7 и XE10
APK файл - это zip архив, его открыть, там папка lib, в ней папки armeabi, armeabi-v7a, mips и x86. Вот оттуда удалить x86.
У меня подозрение что ее там не будет... если нет в deployment
FMX и Windows, что нужно обновить?
в Windows
Опубликовано · Изменено пользователем Камышев Александр
extern "C" int FMXmain() { try { GlobalUseDXInDX9Mode = true; Application->Initialize(); Application->CreateForm(__classid(TdmSUHttpClient), &dmSUHttpClient); Application->CreateForm(__classid(TForm1), &Form1); Application->Run(); }
не заметил тормозов и проблем, работает вроде,
это конечно не графический движок современной видеоигры...
по теме должно помочь