Евгений Корепов
-
Постов
738 -
Зарегистрирован
-
Посещение
-
Победитель дней
100
Активность репутации
-
Евгений Корепов получил реакцию от Barbanel в Проверка наличия прав
Вам удалось решить проблему для камеры? Перелопатил весь интернет, но похоже Эмба не озаботилась этим вопросом.
Пока присобачил костыль из говна и палок - в AppEvent определяю что приложение стало не активным TApplicationEvent.WillBecomeInactive, значит вылез диалог спрашивания разрешений, После этого по событию TApplicationEvent.BecameActive (диалог завершен), проверяю что приходит от камеры в FCamera.OnSampleBufferReady - если черный-черный ничего, то можно подумать что разрешение не было дано )))))))) От этого костыля у меня кровь из глаз....
-
Евгений Корепов отреагировална Сергей Сергеев в TWebBrowser показывает две клавиатуры в IOS
Все заработало - огромное спасибо Евгению за активное участие в решении "мировой" проблемы!
-
Евгений Корепов получил реакцию от Сергей Сергеев в TWebBrowser показывает две клавиатуры в IOS
Там видимо все контролы ControlType Platform подвержены этому глюку. А Браузер - это нативный контрол по умолчанию.
-
Евгений Корепов получил реакцию от Сергей Сергеев в TWebBrowser показывает две клавиатуры в IOS
Я в своем сообщении указал способ решения:
https://quality.embarcadero.com/browse/RSP-25523
Там Dave Nottage написал причину и способ исправления:
Прикладываю архив с исправленным FMX.Platform.iOS.pas - положите в папку с проектом и все заработает нормально (я проверил).
P.S. Несчастный FMX.Platform.iOS.pas изуродовали в Рио бесчеловечно )) Какой то индус прошелся по нему в наркотическом угаре.
FMX.Platform.iOS.pas.7z
-
Евгений Корепов получил реакцию от qz5 в TWebBrowser показывает две клавиатуры в IOS
Я в своем сообщении указал способ решения:
https://quality.embarcadero.com/browse/RSP-25523
Там Dave Nottage написал причину и способ исправления:
Прикладываю архив с исправленным FMX.Platform.iOS.pas - положите в папку с проектом и все заработает нормально (я проверил).
P.S. Несчастный FMX.Platform.iOS.pas изуродовали в Рио бесчеловечно )) Какой то индус прошелся по нему в наркотическом угаре.
FMX.Platform.iOS.pas.7z
-
Евгений Корепов получил реакцию от Ingalime в TWebBrowser показывает две клавиатуры в IOS
Да, легко удалось воспроизвести проблему - набрал yandex.ru, нажал Go (открылась страница), на странице нажал ссылку "Картинки" - появилась клавиатура, которая не получает фокуса, не реагирует на тыканье.
Среда 10.3.2, iPhone SE, iOS 12.3.1
Возможно проблема перекликается с https://quality.embarcadero.com/browse/RSP-25523
-
Евгений Корепов получил реакцию от Сергей Сергеев в TWebBrowser показывает две клавиатуры в IOS
Да, легко удалось воспроизвести проблему - набрал yandex.ru, нажал Go (открылась страница), на странице нажал ссылку "Картинки" - появилась клавиатура, которая не получает фокуса, не реагирует на тыканье.
Среда 10.3.2, iPhone SE, iOS 12.3.1
Возможно проблема перекликается с https://quality.embarcadero.com/browse/RSP-25523
-
Евгений Корепов получил реакцию от Сергей Сергеев в TWebBrowser показывает две клавиатуры в IOS
Закиньте сюда тестовый проект, я проверю на своем устройстве.
-
Евгений Корепов отреагировална qz5 в Как можно обновиться в Google Play после 1 августа
Короче уточнил: бета-версия 10.3.3 будет называться Sugarloaf, она выйдет до конца этого месяца, там будет 64-битный компилятор под Андроид, но так и не понял по поводу - дадут ли "коммунякам" или нет
так в ближайшие 7 дней ждем Sugarloaf
-
Евгений Корепов отреагировална Татьяна в Андроид 9 и Интернет
Выражаю Евгению Корепову благодарность за высокопрофессиональную помощь!
-
Евгений Корепов получил реакцию от Ingalime в Андроид 9 и Интернет
На будущее - при создании темы указывайте все исходные данные (как минимум вашу версию среды), что бы люди не давали вам советы, а потом уже узнали советы для какой версии среды они вам нужны.
Я поставил Берлин и попробовал - ничего не получилось, результат такой же как у вас. Разбираться времени нет.
Вот вам варианты:
1. Постарайтесь избавится от http и перейти на https. В наше время почти не возможно найти сайт http, даже самые отсталые госслужбы перешли на https на своих порталах. Если это ваш сервер, то я могу проконсультировать по способам перевода его на https.
2. Перейдите на Delphi 10.3.2.
3. Сделайте на каком нибудь другом сервере прокладку между запросами приложения по https и запросами к вашему серверу по http.
-
Евгений Корепов получил реакцию от Мирзали Пирмагомедов в FMX ListView, вывод и чтение данных списка
Все тоже самое что и VLC, только чуток по другому:
procedure TForm1.FillListView; var AItem : TListViewItem; begin AItem :=Listview.Items.Add; AItem.Data['Text1']:='Яблоки';//товар AItem.Data['Cost']:=100;//цена AItem :=Listview.Items.Add; AItem.Data['Text1']:='Груши';//товар AItem.Data['Cost']:=120;//цена AItem :=Listview.Items.Add; AItem.Data['Text1']:='Дыни';//товар AItem.Data['Cost']:=80;//ценаend; end; procedure TForm1.ProcessingListView; var I : Integer; AItem : TListViewItem; ASum : Currency; begin ASum:=0; for I := 0 to ListView.Items.Count - 1 do begin AItem:=(ListView.Items.Item[I] as TListViewItem); ASum:=ASum + AItem.Data['Cost'].AsCurrency; end; Label1.Text:=CurrToStr(ASum); end; Обратите внимание - цену присваиваем как число, а не как строку (не за чем лишние преобразования делать)
AItem.Data['Cost']:=120;//цена
Вторую процедуру можно было без AItem : TListViewItem; сделать, но для наглядности я сделал именно так.
-
Евгений Корепов получил реакцию от qz5 в FMX ListView, вывод и чтение данных списка
Все тоже самое что и VLC, только чуток по другому:
procedure TForm1.FillListView; var AItem : TListViewItem; begin AItem :=Listview.Items.Add; AItem.Data['Text1']:='Яблоки';//товар AItem.Data['Cost']:=100;//цена AItem :=Listview.Items.Add; AItem.Data['Text1']:='Груши';//товар AItem.Data['Cost']:=120;//цена AItem :=Listview.Items.Add; AItem.Data['Text1']:='Дыни';//товар AItem.Data['Cost']:=80;//ценаend; end; procedure TForm1.ProcessingListView; var I : Integer; AItem : TListViewItem; ASum : Currency; begin ASum:=0; for I := 0 to ListView.Items.Count - 1 do begin AItem:=(ListView.Items.Item[I] as TListViewItem); ASum:=ASum + AItem.Data['Cost'].AsCurrency; end; Label1.Text:=CurrToStr(ASum); end; Обратите внимание - цену присваиваем как число, а не как строку (не за чем лишние преобразования делать)
AItem.Data['Cost']:=120;//цена
Вторую процедуру можно было без AItem : TListViewItem; сделать, но для наглядности я сделал именно так.
-
Евгений Корепов получил реакцию от Ingalime в TListView: список в виде CheckBox в ListViewItem
Если именно как на приведенной вами картинке то вот так:
Делаете ListView с DynamicAppearance, включаете DesingMode, добавляете необходимые поля, включая TListItemAccessory с AccessoryType=Checkmark (он и будет отображать красивые галочки). Не забудьте дать названия добавленным элементам. В моем коде TListItemAccessory называется "ShowPool"
P.S. Вариант, предложенный выше, с ListView1.EditMode := True будет выглядеть страшненько, чекбоксы не очень хорошо смотрятся в интерфейсе приложений.
procedure TFormMain.FillSettingPools; Var I : Integer; AItem : TListViewItem; begin ListViewPools.BeginUpdate; ListViewPools.Items.Clear; for I := 0 to FPoolList.Count-1 do begin AItem:=ListViewPools.Items.Add; AItem.Data['CoinName']:=FPoolList.Items[I].CoinName; AItem.Data['CoinDetail']:=FPoolList.Items[I].Href; AItem.Data['ShowPool']:=FPoolList.Items[I].ShowPool; TListItemAccessory(AItem.View.FindDrawable('ShowPool')).Visible:=FPoolList.Items[I].ShowPool; //Boolean end; ListViewPools.EndUpdate; end; procedure TFormMain.ListViewPoolsUpdateObjects(const Sender: TObject; const AItem: TListViewItem); Var AItemAccessory : TListItemAccessory; begin AItemAccessory:=TListItemAccessory(AItem.View.FindDrawable('ShowPool')); if AItem.Data['ShowPool'].AsBoolean then AItemAccessory.Visible:=True Else AItemAccessory.Visible:=False; end; procedure TFormMain.ListViewPoolsItemClick(const Sender: TObject; const AItem: TListViewItem); Var I : Integer; S : String; AListItemAccessory : TListItemAccessory; APool : TPool; AShowPool : Boolean; begin AListItemAccessory:=TListItemAccessory(AItem.View.FindDrawable('ShowPool')); if AListItemAccessory<>nil then begin AShowPool:=AItem.Data['ShowPool'].AsBoolean; AShowPool:=Not AShowPool; AListItemAccessory.Visible:=AShowPool; AItem.Data['ShowPool']:=AShowPool; S:=AItem.Data['CoinName'].AsString; for I := 0 to FPoolList.Count-1 do begin If FPoolList.Items[I].CoinName.Equals(S) Then begin APool:=FPoolList.Items[I]; APool.ShowPool:=AShowPool; FPoolList.Items[I]:=APool; Break; end; end; end; FillListViewPoolsMaster; SavePools; end;
-
Евгений Корепов отреагировална Сергей Сергеев в Личный кабинет пациента поликлиники
сделано на Datasnap - 3х звенка
MsSql- Сервис Https - Клиент ( Андроид, Ios, Win, Mac)
Личный кабинет пациента клиники (www.familydoctor.ru) открывает зарегистрированным пользователям доступ
к медицинской карте (результаты лабораторных исследований и функциональной диагностики,
описание приемов врачей, направления и рекомендации,
истории посещений клиники (дата, время, специалист),
программам медицинского наблюдения (перечень, период прикрепления),
информации о движении средств по депозитам.
Для пересылки выписок (файлов) из медицинской карты используется электронная почта (в системе должен быть настроенный Майл Агент на отправку почты).
Полной версией приложения могут воспользоваться только пациенты, подключившие услугу "Личный кабинет" в регистратуре любого корпуса клиники "Семейный доктор".
В новой версии изменен дизайн, появились новые функции и разделы:
вход по номеру медкарты или ФИО;
запрос нового пароля;
заявка на онлайн запись;
отмена приема;
прейскурант услуг клиники;
справочник адресов клиники.
сервис оплаты услуг клиники через приложение.
В ближайшем будущем функционал личного кабинета будет дополнен онлайн расписанием специалистов, возможностью электронной записи на приём.
в гугл плее
https://play.google.com/store/apps/details?id=com.familydoctor.FD
Есть тестовый вход, обращайтесь.
-
Евгений Корепов получил реакцию от Vizit0r в Затирание bitmap canvas при map-unmap
Я разобрался в чем дело:
Вместо TMapAccess.Write используйте TMapAccess.ReadWrite.
TMapAccess.Write по какой то причине затирает если не все, то некоторые последние изменения канваса. В доке http://docwiki.embarcadero.com/Libraries/Rio/en/FMX.Graphics.TBitmap.Map не нашел упоминания о таком поведении.
-
Евгений Корепов получил реакцию от Ingalime в Андроид 9 и Интернет
Вы где то ошиблись. Или в левой кодировке сохранили файл, или еще что.
На тестовом проекте добавил - все отлично собралось. Вот мой AndroidManifest.template.xml
<?xml version="1.0" encoding="utf-8"?> <!-- BEGIN_INCLUDE(manifest) --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="%package%" android:versionCode="%versionCode%" android:versionName="%versionName%" android:installLocation="%installLocation%"> <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" /> <%uses-permission%> <uses-feature android:glEsVersion="0x00020000" android:required="True"/> <application android:persistent="%persistent%" android:restoreAnyVersion="%restoreAnyVersion%" android:label="%label%" android:debuggable="%debuggable%" android:largeHeap="%largeHeap%" android:icon="%icon%" android:theme="%theme%" android:hardwareAccelerated="%hardwareAccelerated%" android:resizeableActivity="false" <!-- Вот сюда я добавил строчку --> android:usesCleartextTraffic="true"> <%provider%> <%application-meta-data%> <%uses-libraries%> <%services%> <!-- Our activity is a subclass of the built-in NativeActivity framework class. This will take care of integrating with our NDK code. --> <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" android:label="%activityLabel%" android:configChanges="orientation|keyboard|keyboardHidden|screenSize" android:launchMode="singleTask"> <!-- Tell NativeActivity the name of our .so --> <meta-data android:name="android.app.lib_name" android:value="%libNameValue%" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <%activity%> <%receivers%> </application> </manifest> <!-- END_INCLUDE(manifest) -->
-
Евгений Корепов получил реакцию от dnekrasov в Затирание bitmap canvas при map-unmap
Я разобрался в чем дело:
Вместо TMapAccess.Write используйте TMapAccess.ReadWrite.
TMapAccess.Write по какой то причине затирает если не все, то некоторые последние изменения канваса. В доке http://docwiki.embarcadero.com/Libraries/Rio/en/FMX.Graphics.TBitmap.Map не нашел упоминания о таком поведении.
-
Евгений Корепов получил реакцию от Ingalime в Затирание bitmap canvas при map-unmap
Я разобрался в чем дело:
Вместо TMapAccess.Write используйте TMapAccess.ReadWrite.
TMapAccess.Write по какой то причине затирает если не все, то некоторые последние изменения канваса. В доке http://docwiki.embarcadero.com/Libraries/Rio/en/FMX.Graphics.TBitmap.Map не нашел упоминания о таком поведении.
-
Евгений Корепов получил реакцию от qz5 в Андроид 9 и Интернет
Вы где то ошиблись. Или в левой кодировке сохранили файл, или еще что.
На тестовом проекте добавил - все отлично собралось. Вот мой AndroidManifest.template.xml
<?xml version="1.0" encoding="utf-8"?> <!-- BEGIN_INCLUDE(manifest) --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="%package%" android:versionCode="%versionCode%" android:versionName="%versionName%" android:installLocation="%installLocation%"> <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" /> <%uses-permission%> <uses-feature android:glEsVersion="0x00020000" android:required="True"/> <application android:persistent="%persistent%" android:restoreAnyVersion="%restoreAnyVersion%" android:label="%label%" android:debuggable="%debuggable%" android:largeHeap="%largeHeap%" android:icon="%icon%" android:theme="%theme%" android:hardwareAccelerated="%hardwareAccelerated%" android:resizeableActivity="false" <!-- Вот сюда я добавил строчку --> android:usesCleartextTraffic="true"> <%provider%> <%application-meta-data%> <%uses-libraries%> <%services%> <!-- Our activity is a subclass of the built-in NativeActivity framework class. This will take care of integrating with our NDK code. --> <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" android:label="%activityLabel%" android:configChanges="orientation|keyboard|keyboardHidden|screenSize" android:launchMode="singleTask"> <!-- Tell NativeActivity the name of our .so --> <meta-data android:name="android.app.lib_name" android:value="%libNameValue%" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <%activity%> <%receivers%> </application> </manifest> <!-- END_INCLUDE(manifest) -->
-
Евгений Корепов получил реакцию от qz5 в Затирание bitmap canvas при map-unmap
К сожалению начиная с Токио, Эмбаркадера почти полностью поломала TBitmap. Его поведение стало неадекватным.
Вместо сохранения можете делать
var BitmapSurface : TBitmapSurface; ... BitmapSurface:=TBitmapSurface.Create; BitmapSurface.Assign(Image1.Bitmap); BitmapSurface.Free; Эта манипуляция в процедуре сохранения, как раз и помогает от затирания канваса. Почему это работает я не понял.
Не забывайте так же проверять удалось ли заблокировать канвас.
Вот я накидал пример:
procedure TForm1.Button1Click(Sender: TObject); var Bitmap : Tbitmap; BitmapData : TBitmapData; I: integer; J: integer; Distance: integer; Surf: TBitmapSurface; begin Bitmap := Tbitmap.Create; Bitmap.CreateFromFile('D:\2012643.jpg'); if Bitmap.Canvas.BeginScene then try Bitmap.Canvas.Stroke.Color := TAlphaColorRec.Blue; Bitmap.Canvas.DrawEllipse(TRectF.Create(10, 10, 20, 20), 1); finally Bitmap.Canvas.EndScene; end; Surf:=TBitmapSurface.Create; Surf.Assign(Bitmap); Surf.Free; if Bitmap.Map(TMapAccess.Write, BitmapData) then try Distance:=10; for I := 0 to Round(BitmapData.Width / Distance) - 1 do for J := 0 to Bitmap.Height - 1 do begin begin AlphaColorToPixel(TAlphaColorRec.Red, @PAlphaColorArray(BitmapData.Data) [J * (BitmapData.Pitch div PixelFormatBytes[Bitmap.PixelFormat]) + Distance * I], Bitmap.PixelFormat); end; end; finally Bitmap.Unmap(BitmapData); end; Image1.Bitmap.Assign(Bitmap); end;
-
Евгений Корепов получил реакцию от Ingalime в Затирание bitmap canvas при map-unmap
К сожалению начиная с Токио, Эмбаркадера почти полностью поломала TBitmap. Его поведение стало неадекватным.
Вместо сохранения можете делать
var BitmapSurface : TBitmapSurface; ... BitmapSurface:=TBitmapSurface.Create; BitmapSurface.Assign(Image1.Bitmap); BitmapSurface.Free; Эта манипуляция в процедуре сохранения, как раз и помогает от затирания канваса. Почему это работает я не понял.
Не забывайте так же проверять удалось ли заблокировать канвас.
Вот я накидал пример:
procedure TForm1.Button1Click(Sender: TObject); var Bitmap : Tbitmap; BitmapData : TBitmapData; I: integer; J: integer; Distance: integer; Surf: TBitmapSurface; begin Bitmap := Tbitmap.Create; Bitmap.CreateFromFile('D:\2012643.jpg'); if Bitmap.Canvas.BeginScene then try Bitmap.Canvas.Stroke.Color := TAlphaColorRec.Blue; Bitmap.Canvas.DrawEllipse(TRectF.Create(10, 10, 20, 20), 1); finally Bitmap.Canvas.EndScene; end; Surf:=TBitmapSurface.Create; Surf.Assign(Bitmap); Surf.Free; if Bitmap.Map(TMapAccess.Write, BitmapData) then try Distance:=10; for I := 0 to Round(BitmapData.Width / Distance) - 1 do for J := 0 to Bitmap.Height - 1 do begin begin AlphaColorToPixel(TAlphaColorRec.Red, @PAlphaColorArray(BitmapData.Data) [J * (BitmapData.Pitch div PixelFormatBytes[Bitmap.PixelFormat]) + Distance * I], Bitmap.PixelFormat); end; end; finally Bitmap.Unmap(BitmapData); end; Image1.Bitmap.Assign(Bitmap); end;
-
Евгений Корепов отреагировална Татьяна в Андроид 9 и Интернет
Куча советов там.
Достаточно дописать в манифест:
android:usesCleartextTraffic="true" ?
-
Евгений Корепов получил реакцию от Татьяна в Андроид 9 и Интернет
Вот тут рецепт, в манифест добавьте поля, https://stackoverflow.com/questions/51902629/how-to-allow-all-network-connection-types-http-and-https-in-android-9-pie
-
Евгений Корепов получил реакцию от Ingalime в Андроид 9 и Интернет
Вот тут рецепт, в манифест добавьте поля, https://stackoverflow.com/questions/51902629/how-to-allow-all-network-connection-types-http-and-https-in-android-9-pie