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

Kitty

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

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

  • Посещение

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

    16

Активность репутации

  1. Like
    Kitty отреагировална Равиль Зарипов (ZuBy) в [TidIPWatch] Узнаём локальный IP   
    можно использовать вот это
  2. Like
    Kitty отреагировална Error в [TEdit] Почему при изменении масштаба TEdit.Scale, могут появляться артефакты в виде линий?   
    9-path изображение из которых состоят все растровые скины, состоят из 9 кусочков, которые если компонент имеет дробные координаты или размер рисуются в дробных координатах, а сглаживание размазывает границы этих кусочков.
    Вариант решения: следить за тем, чтобы размеры и координаты компонентов были всегда целыми числами. (обычно проблемы могут возникать при расположении компонентов на различных Layout-ах типа  TGridLayout, TScaledLayout)
  3. Like
    Kitty отреагировална alexbirukov в Ошибки и косяки Delphi XE10 Seattle и xCode 7   
    Нашёл решение предыдущей проблемы.
     
    На iOS9 перенесённые проекты не запускаются, если в проекте имелся ImageList. Во время запуска приложения данный компонент вызывает несколько ошибок. Решение: либо удалить компонент, либо пересоздать его и заполнить по новой. Источник.
     
    Так же, с выходом iOS 9.1 возникла проблема загрузки приложений в Apple Store. Теперь для загрузке обязательно необходимо обновить xCode до версии 7.1 и SDK9.
     
    И вот теперь, обязательны ключи:
     
    41<key>NSAppTransportSecurity</key>
    42<dict>
    43
    44  <key>NSAllowsArbitraryLoads</key>
    45      <true/>
    46</dict>

    для работы приложений с http, иначе будет возникать ошибка.
  4. Like
    Kitty отреагировална Равиль Зарипов (ZuBy) в Реализовать свою маску в Edit   
    uses maskUtils
    Edit1.Text :=  MaskDoFormatText('000.000.000.000;#0',Edit1.Text, #0);
  5. Like
    Kitty отреагировална Равиль Зарипов (ZuBy) в Слайдер для двух TImage   
    я к Вашему слайдеру повесил жесты (Left,Right) и нормально так получилось.
    пришлось вынести пару методов в public, ​писал вроде об этом уже
  6. Like
    Kitty отреагировална Martifan в Удаление маркеров TMapView N2   
    Private   FMarkers: TList<TMapMarker>;   ...................     Procedure AddMarker; var      mapCenter: TMapCoordinate;     MyMarker: TMapMarkerDescriptor; Begin   mapCenter := TMapCoordinate.Create(StrToFloat(Lat), StrToFloat(Lon));   MyMarker := TMapMarkerDescriptor.Create(mapCenter, 'Text');   fmain.MapView1.Location := mapCenter;   FMarkers.Add(fmain.MapView1.AddMarker(MyMarker)); End;   Procedure RemoveMarker; var      Marker: TMapMarker; Begin   for Marker in FMarkers do     Marker.Remove; FMarkers.Clear; End;   procedure Tfmain.FormCreate(Sender: TObject); begin   FMarkers := TList<TMapMarker>.Create; End;  
  7. Like
    Kitty отреагировална Brovin Yaroslav в Слайдер для двух TImage   
    Пока в FGX есть слайдер, но он без использования жеста прокручивания. Я подумаю, чтобы добавить в следующую версию прокрутку пальцем.
  8. Like
    Kitty отреагировална FIL в [Seattle] Создание функции обратного вызова при помощи TDSRestClientCallback   
    Выяснил что если из ХЕ8 взять файлы:
      Datasnap.DSClientRest.pas
      Datasnap.DSHTTPClient.pas
      Datasnap.DSProxyRest.pas
      Datasnap.DSClientMetadata.pas
    , то клиет работает корректно.
     
    Но найти в них косяк весьма проблемотично, т.к. изменения в Seattle относительно ХЕ8 слишком кардинальные.
    А разработчикам, похоже, это не особо интересно.
  9. Like
    Kitty отреагировална Brovin Yaroslav в Работа с эмулятором BlueStacks из RAD Studio XE5   
    Для запуска эмулятора с последними версиями среды требуется сделать следующее:
    Открыть Deployment Manager. Project-> Deployment Снять галки с файлов libnative-activity.so
    Более подробную информацию можно найти здесь.
  10. Like
    Kitty отреагировална Brovin Yaroslav в Как убрать клавиатуру вызванную фокусом TEdit?   
    Добрый день,
     
    Два варианта:
    Как я могу скрыть / показать клавиатуру под "Android"? Сбросить фокус
    Edit.ResetFocus
  11. Like
    Kitty отреагировална bigjorj в InAppPurchase.IsProductPurchased   
    Вот пример. У меня работает. Был один неприятный момент - после использования тестовых продуктов проверка покупки заработала примерно через день, сама по себе.
     
    При старте приложения вызываем    
     
    PurchaseDataModule.InAppPurchase1.SetupInAppPurchase;
    procedure TPurchaseDataModule.DataModuleCreate(Sender: TObject); begin fisPurchased := true; {$IFDEF ANDROID} InAppPurchase1.ApplicationLicenseKey :=''; //Присваиваем ключ InAppPurchase1.ProductIDs.Add(ProductId); // Добавляем наш продукт InAppPurchase1.OnSetupComplete := InAppPurchase1SetupComplete; {$ENDIF} end; procedure TPurchaseDataModule.InAppPurchase1ProductsRequestResponse( Sender: TObject; const Products: TIAPProductList; const InvalidProductIDs: TStrings); var Product: TProduct; begin fisPurchased := false; for Product in Products do begin if ProductId = Product.ProductID then begin FProductIsValid := True; if InAppPurchase1.IsProductPurchased(ProductId) then begin fisPurchased := true; // КУПЛЕНО!!!! end end; end; end; procedure TPurchaseDataModule.InAppPurchase1PurchaseCompleted(Sender: TObject; const ProductID: string; NewTransaction: Boolean); begin MainDataModule.ShowToast('Премиум версия активирована'); fisPurchased := True end; procedure TPurchaseDataModule.InAppPurchase1SetupComplete(Sender: TObject); begin fisPurchased := False; try InAppPurchase1.QueryProducts; except on E:Exception do MainDataModule.ShowToast(e.Message); end; end; procedure TPurchaseDataModule.Purchase; begin {$IFDEF ANDROID} if InAppPurchase1.IsSetupComplete and InAppPurchase1.CanMakeInAppPurchases then begin InAppPurchase1.PurchaseProduct(ProductId); end else MainDataModule.ShowToast('В данный момент приобретение не возможно. Попробуйте позже'); {$ENDIF} end;
  12. Like
    Kitty отреагировална haword в Delphi XE8 автозагрузка приложения в Android   
    ну вообще то надо задать java класс а указано - .BootReceiver
  13. Like
    Kitty отреагировална serg557 в [TidHTTP] Кодировка ответа сервера на загрузку файла   
    Тема закрыта, решение нашлось благодаря теме в соседней ветке. приведу весь кусок кода- может спасу кому-то день 
    #include <IdURI.hpp> ... TStringList *SL2= new TStringList; SL2->Clear(); OpenDialog1->Execute(); TIdMultiPartFormDataStream *PostFile= new TIdMultiPartFormDataStream; PostFile->Clear(); PostFile->AddFormField("FileName",ExtractFileName(OpenDialog1->FileName)); PostFile->AddFile("Filedata",OpenDialog1->FileName); PostFile->AddFormField("Upload","Submit Query"); SL2->Text=TIdURI::URLDecode(HTTP1->Post("http://...", PostFile)); Memo1->Text=SL2->Text; PostFile->Free(); SL2->Free(); HTTP1->Request->ContentType="application/x-www-form-urlencoded"; изменение в 11 строке и добавление include
  14. Like
    Kitty отреагировална Кривяков Виталий в TUITabControl   
    Проверил - действительно, есть такое поведение. Постараюсь выложить исправление в ближайшее время.
  15. Like
    Kitty отреагировална Равиль Зарипов (ZuBy) в Запрет жеста   
    достаточно один раз сравнить, был ли скрол
    if not myFlag then myFlag := newViewportPosition <> OldViewportPosition; // типа того, нет времени проверять onMouseUp
    myFlag := false;
  16. Like
    Kitty отреагировална umkes в Запрет жеста   
    Решил при помощи координат.
    На OnMouseDown сохраняем координату Y. А в обработке igiLongTap проверку или теперешняя координата равна Y.
  17. Like
    Kitty отреагировална Brovin Yaroslav в Как программно в Андроид выполнить MouseDown для компонента?   
    На уровне формы есть методы для работы с мышью:
    procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Single); virtual; procedure MouseMove(Shift: TShiftState; X, Y: Single); virtual; procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Single; DoClick: Boolean = True); virtual; procedure MouseWheel(Shift: TShiftState; WheelDelta: Integer; var Handled: Boolean); virtual; procedure MouseLeave; virtual; Используйте их, для эмуляции нажатия мышкой или пальцем. В качестве координат нужно передавать абсолютные координаты компонента
  18. Like
    Kitty отреагировална Brovin Yaroslav в [Отклонение] Утечка памяти в компоненте TNotificationCenter   
    Я уже завел этот баг во внутреннем треккере.
  19. Like
    Kitty отреагировална Равиль Зарипов (ZuBy) в Динамическое создание и уничтожение TForm   
    TFormAdd.Create
  20. Like
    Kitty отреагировална Brovin Yaroslav в AppAnalytics   
    Все просто, если вы выставите флаг AllowTracking в True, то диалоговое окно не будет показано при запуске. Соответственно, после первого запуска, вы должны куда-нибудь сохранить информацию, что пользователь дал добро на отслеживание. Для этого вам предлагают использовать уже готовый механизм для сохранения данных при закрытии приложении. Так же вы можете в ручную реализовать сохранение настроек через XMl, Ini файлы и тд.
    [Android] Что использовать для сохранения настроек приложения?
    FireMonkey Save State

  21. Like
    Kitty отреагировална Равиль Зарипов (ZuBy) в [SSL] Как получить содержимое страницы по HTTPS с помощью INDY?   
    begin fSSL := TIdSSLIOHandlerSocketOpenSSL.Create(fHTTP); fHTTP.IOHandler := fSSL; fHTTP.AllowCookies := True; fHTTP.HandleRedirects := True; end; Указать НУЖНЫЙ тип SSL/TLS и его версию
    и если это Windows программа, то надеюсь вы не забыли библиотеки ssl положить вместе с исполнительным файлом
    ответ на запрос, проверьте id вашего приложения
  22. Like
    Kitty отреагировална Равиль Зарипов (ZuBy) в Еще раз про разбор JSON - массива   
    function JSONParse(const aJSONData: string; const aMemo: TMemo): boolean; var   aJSValue: TJSONValue;   aJSObject: TJSONObject;   aJSArray: TJSONArray;   I, J: integer; begin Result := false; aJSValue := TJSONObject.ParseJSONValue(aJSONData) as TJSONValue; if Assigned(aJSValue) then begin aJSObject := aJSValue as TJSONObject; if Assigned(aJSObject) then begin for I := 0 to aJSObject.Count - 1 do begin aMemo.Lines.Add(aJSObject.Pairs[I].JsonString.Value + '=' + aJSObject.Pairs[I].JsonValue.Value); if aJSObject.GetValue(aJSObject.Pairs[I].JsonString.Value) is TJSONArray then begin aJSArray := aJSObject.GetValue(aJSObject.Pairs[I].JsonString.Value) as TJSONArray; if Assigned(aJSArray) then begin for J := 0 to aJSArray.Count - 1 do aMemo.Lines.Add(aJSArray.Items[J].Value); end; end; end; end; end; Result := true; end; JSONParse('{"desc":"Описания...","otdel":["1","12","300"],"manufacturer":"ООО \"Привет\""}', Memo1)
  23. Like
    Kitty отреагировална Pulsarius в RAD XE9 (RAD X Seattle)   
    https://onedrive.live.com/redir?resid=6F5EAC5B9D042042!4961&authkey=!AEoTXbnPYPhSm4I&ithint=folder%2cpdf
  24. Like
    Kitty отреагировална Pulsarius в RAD XE9 (RAD X Seattle)   
    "ОБУЧЕНИЕ МОБИЛЬНОЙ РАЗРАБОТКЕ НА DELPHI"
  25. Like
    Kitty получил реакцию от Alex7wrt в RAD XE9 (RAD X Seattle)   
    Правильно.
    Для споров Си или Делфи полно других форумов.
×
×
  • Создать...