Jump to content

Александр Клопоцкий

Active subscription
  • Posts

    69
  • Joined

  • Last visited

  • Days Won

    3

Александр Клопоцкий last won the day on March 12

Александр Клопоцкий had the most liked content!

About Александр Клопоцкий

  • Birthday 02/17/1972

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Александр Клопоцкий's Achievements

Enthusiast

Enthusiast (6/14)

  • Reacting Well
  • Dedicated
  • First Post
  • Collaborator
  • Conversation Starter

Recent Badges

44

Reputation

1

Community Answers

  1. База данных MySQL на обычном хостинге сайта: https://hoster.by/
  2. Название приложения: ГАЗ-ИНСТИТУТ Платформа: Android 32 bit, Android 64 bit Поддерживаемые версии ОС: Android 5.0 и новее Необходимое свободное место: до 10 Мб Описание: Приложение "ГАЗ-ИНСТИТУТ" предназначено для подачи заявок на обучение. Ссылка на приложение: https://play.google.com/store/apps/details?id=gazinstitut.by Заявки на обучение.mp4
  3. Постоянно коннект не держу. Только в момент нажатия кнопки устанавливаю коннект, вставляю запись в таблицу, с сразу отключаюсь. Чтение чата делаю раз в минуту и отключаюсь. http - будет прослойка, нужно будет все поля таблиц через нее прописывать, неудобно. Хочется работать напрямую с SQL, пока ошибок с обрывом соединения в приложении не было. SecureBridge держит SSH подключение в момент коннекта, хостеры не дают подключаться напрямую к базе на хостинге без SSH сертификата. procedure TdmMain.Hoster_FL_REG_Insert; var UniStoredProc: TUniStoredProc; begin if ((PPL_SURNAME <> '') or (PPL_FIRSTNAME <> '') or (PPL_PHONE <> '')) then begin Hoster_Connect; // Подключение к хостингу UniStoredProc := TUniStoredProc.Create(nil); try UniStoredProc.Connection := UniConnection; UniStoredProc.StoredProcName := 'st_reg_insert'; UniStoredProc.PrepareSQL; UniStoredProc.ParamByName('P_APP_ID').ParamType := ptInput; UniStoredProc.ParamByName('P_APP_ID').DataType := ftInteger; UniStoredProc.ParamByName('P_APP_ID').AsInteger := StrToInt(APP_ID); UniStoredProc.ParamByName('P_PPL_SURNAME').ParamType := ptInput; UniStoredProc.ParamByName('P_PPL_SURNAME').DataType := ftString; UniStoredProc.ParamByName('P_PPL_SURNAME').AsString := PPL_SURNAME; UniStoredProc.ParamByName('P_PPL_FIRSTNAME').ParamType := ptInput; UniStoredProc.ParamByName('P_PPL_FIRSTNAME').DataType := ftString; UniStoredProc.ParamByName('P_PPL_FIRSTNAME').AsString := PPL_FIRSTNAME; UniStoredProc.ParamByName('P_PPL_PHONE').ParamType := ptInput; UniStoredProc.ParamByName('P_PPL_PHONE').DataType := ftString; UniStoredProc.ParamByName('P_PPL_PHONE').AsString := PPL_PHONE; UniStoredProc.Execute; finally UniStoredProc.Free; end; Hoster_Disconnect; // Отключение от хостинга end; end; procedure TdmMain.Hoster_Connect; begin ScFileStorage.Path := TPath.GetDocumentsPath; // Папка на Android ScSSHClient.Connected := True; ScSSHChannel.Connected := True; if ScSSHChannel.Connected then UniConnection.Connected := True else TfgDialogs.ShowMessage('SSH - Not Connected!'); end; procedure TdmMain.Hoster_Disconnect; begin ScSSHChannel.Connected := False; ScSSHClient.Connected := False; end;
  4. Название приложения: Фаберлик Подарки Платформа: Android 32 bit, Android 64 bit Поддерживаемые версии ОС: Android 5.0 и новее Необходимое свободное место: до 80 Мб Описание: Приложение "Фаберлик Подарки" предназначено для для сопровождения постоянных покупателей продукции Фаберлик. Приложение соединяется с базой данных MySQL на обычном хостинге сайта. Для подключения использую компоненты UniDAC, SecureBridge. Каждому скачиванию присваивается порядковый номер, сохраняется в телефоне, по нему отбираются и показываются сообщения чата для данного клиента. При приходе сообщения делаю "Local notification" из примера. Программа администрирования на Delphi 10.4.1 VCL компонентах. Ссылка на приложение: https://play.google.com/store/apps/details?id=faberlic24.by
  5. 1. Удалил версию FGX-Native 1.7.1. Удалились папки: C:\Document and Settings\User\Local Setting\FGX Native\ C:\Users\User\AppData\Local\FGX Native\ 2. Поставил версию FGX-Native 1.8.0. Выбрал - только RADStudio 10.4, - только Android. По новой создались папки: C:\Document and Settings\User\Local Setting\FGX Native\ C:\Users\User\AppData\Local\FGX Native\ 3. Открываю пример: CollectionViewScrollDemo. Компилирую - Ошибка: [DCC Fatal Error] FGX.Platform.pas(195): F2051 Unit FGX.Assets.Android was compiled with a different version of FGX.Helpers.Android.JStringToString Делал полный "Build All Projects", та же ошибка. Где сохранились файлы библиотеки от старой версии? Полный текст компиляции примера CollectionViewScrollDemo: Checking project dependencies... Compiling CollectionViewScrollDemo.dproj (Debug, Android) brcc32 command line for "CollectionViewScrollDemo.vrc" c:\delphi\bin\cgrc.exe -c65001 "CollectionViewScrollDemo.vrc" -foCollectionViewScrollDemo.res dccaarm command line for "CollectionViewScrollDemo.dpr" c:\delphi\bin\dccaarm.exe -$O- --no-config -M -Q -TX.so -AGenerics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults -DDEBUG -E.\Android\Debug -Ic:\delphi\lib\Android\debug;"C:\Users\User\AppData\Local\FGX Native\Libs\270\Android\Debug";c:\delphi\lib\Android\Release; C:\Delphi\Add\UniDAC\Lib\Android32;C:\Delphi\Add\SecureBridg\Lib\Android32;"C:\Users\User\AppData\Local\FGX Native\Sources"; "C:\Users\User\AppData\Local\FGX Native\Libs\270\Android\Release";"C:\Users\User\AppData\Local\FGX Native\Libs\Common\Android\Debug\armeabi-v7a" -LEC:\Users\Public\Documents\Embarcadero\Studio\21.0\Bpl\Android -LNC:\Users\Public\Documents\Embarcadero\Studio\21.0\Dcp\Android -NU.\Android\Debug -NSSystem;Xml;Data;Datasnap;Web;Soap; -Oc:\delphi\lib\Android\Release;C:\Delphi\Add\UniDAC\Lib\Android32;C:\Delphi\Add\SecureBridg\Lib\Android32; "C:\Users\User\AppData\Local\FGX Native\Sources";"C:\Users\User\AppData\Local\FGX Native\Libs\270\Android\Release";"C:\Users\User\AppData\Local\FGX Native\Libs\Common\Android\Debug\armeabi-v7a" -Rc:\delphi\lib\Android\Release;C:\Delphi\Add\UniDAC\Lib\Android32; C:\Delphi\Add\SecureBridg\Lib\Android32;"C:\Users\User\AppData\Local\FGX Native\Sources";"C:\Users\User\AppData\Local\FGX Native\Libs\270\Android\Release";"C:\Users\User\AppData\Local\FGX Native\Libs\Common\Android\Debug\armeabi-v7a" -Uc:\delphi\lib\Android\debug; "C:\Users\User\AppData\Local\FGX Native\Libs\270\Android\Debug";c:\delphi\lib\Android\Release;C:\Delphi\Add\UniDAC\Lib\Android32; C:\Delphi\Add\SecureBridg\Lib\Android32;"C:\Users\User\AppData\Local\FGX Native\Sources";"C:\Users\User\AppData\Local\FGX Native\Libs\270\Android\Release";"C:\Users\User\AppData\Local\FGX Native\Libs\Common\Android\Debug\armeabi-v7a" --libpath:C:\Development\android-ndk-r21d\sources\cxx-stl\llvm-libc++\libs\armeabi-v7a; C:\Development\android-ndk-r21d\platforms\android-23\arch-arm\usr\lib --linker:C:\Development\android-ndk-r21d\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-ld.exe -V -VN -NO.\Android\Debug CollectionViewScrollDemo.dpr [DCC Fatal Error] FGX.Platform.pas(195): F2051 Unit FGX.Assets.Android was compiled with a different version of FGX.Helpers.Android.JStringToString Failed Elapsed time: 00:00:41.4 Даты создания файлов примера:
  6. Все классы, связанные с анимацией перенесли в Android.Api.Animations. (В описании выше: Android.Api.Animation.)
  7. В форме fmCatalog по событию OnSafeAreaChanged опускаю панель навигации (TfgLayout) под системную панель: procedure TfmCatalog.fgFormSafeAreaChanged(Sender: TObject; const AScreenInsets: TRectF); begin loNav.Size.Height := AScreenInsets.Top + 56; loNav.Padding.Top := AScreenInsets.Top; loNav.Realign; end; В версии 1.5.3 - панель опускалась: В версии 1.6.0 - панель не опускается. Возможно AScreenInsets - не может получить значение. Код не менял, скомпилировал под 1.6.0, как исправить? :
  8. Да, верно. Поставил у метки: HitTest = True, и метка стала реагировать на событие OnTap.
  9. В версии 1.4.1.1 перестал работать TfgDrawerLayout. Демо-пример: "DrawerDemo". На Drawer панеле, в текстовой метке fgLabel2 прописал событие OnTap: procedure TForm4.fgLabel2Tap(Sender: TObject); begin fgDrawerLayout1.Close(True); end; Нажимаю на текстовую метку, и нет реакции, не отрабатывает.
  10. При сохранении изменений в дизайнере ресурсов - ошибка связанная с FMX. В проекте никаких FMX библиотек не подключено. Что это может быть? Delphi 10.3, FGX-Native 1.3.0.0
  11. Первая версия каталога, которая работала пару месяцев, у меня была сделана по "демо проекту": "Ресурсы" -> "Изображения" -> "Асинхронная загрузка изображения по URI". На хостинг я выкладывал новые *.jpg страниц каталога, и они открывались в приложении без обновления приложения. Это тот способ обновления, который использует официальное приложение от компании "Фаберлик". Приложение по размеру маленькое, все тащит через интернет. Навигация по страницам каталога: "<< Первая", "< Предыдущая", "Следующая >", "Последняя >>" и "Введите номер", какую страницу показать. Про клиентов приложения - это девушки, которые выбирают товар, рекламируют, продают его везде и всегда, "сетевики", ну и новые клиенты, которые готовы листать этот каталог вдоль и поперек часами, выискивая выгодные цены. Они часто листают каталог, где нет хорошего интернета, за городом, на даче, на шашлыках, и туалете, в автобусе, и им надо быстро сразу весь каталог полистать взад - вперед и увеличить где нужно. Я предложил им второй вариант, где каталог жестко зашит в "Assets Manager". Размер приложения сразу увеличился с 15 Mb до 65 Mb, но зато теперь каталог всегда с ними и они его могут всегда "кручу - верчу - смотрю как хочу", он у них летает. Для обновления в начале каталога нажимают ссылку на "Google Play" и обновляются без проблем. Знают число, когда каталог меняется и я рассылаю по "демо проекту": "Push-уведомления" -> "Получение Push-уведомления" - "Новый каталог, обновите приложение!". Им этот вариант однозначно больше нравиться. Они ведь всегда по причине нестабильного интернета скачивали себе в "Галерею" каталог в виде фото, это 300 *.jpg рисунков разрешения 902 x 1352. Каталог менялся, "Галерея" засорялась, они уже путались, это в "Галерее" новый каталог или старый, чистить не все умели, памяти со временем не хватало. А при обновлении приложения старый каталог гарантированно уйдет из памяти телефона и заменится новым, и не надо "Галерею" чистить потому как каталог в приложении. Ну и насчет памяти, в смысле стремления сделать приложение как можно меньшего размера. Это как с ассемблером, где каждый байт экономили, по тому как раньше объемы памяти были очень ограниченные. Сейчас памяти становиться много, экономить уже не нужно, ограничение это уже снимается, важным становиться удобство использования. Эта ошибка "нехватка памяти" при листании, которую я привел выше возникала на "дохлом" телефоне "Xiaomi Redmi Note 3" без включенной "выгрузки из памяти". В хороших последних телефонах она не возникает даже при выключенной "выгрузки из памяти", хватает памяти загрузить весь "Assets Manager" и листать его. Здесь выбор: Приложение либо универсальное, маленькое но медленное, которое обновлять не надо – Либо не универсальное, большое но быстрое, которое обновлять надо. Мои пользователи однозначно выбрали второе.
×
×
  • Create New...