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

Slym

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

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

  • Посещение

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

    39

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

  1. Like
    Slym получил реакцию от Ingalime в Intent Delphi->1C   
    Не пробовал...  может так?
    вместо form1.close пишем
    TAndroidHelper.Activity.setResult(RESULT_OK, Intent);
    TAndroidHelper.Activity.Finish;
  2. Like
    Slym получил реакцию от Ingalime в string   
    тогда везде тыкай {$ZEROBASEDSTRINGS OFF} глобально никак
  3. Like
    Slym получил реакцию от Ingalime в TWebBrowser грузит старую страницу   
    Так себе, отключать кеш... можно разово при запуске
    {$IFDEF ANDROID}     var NativeBrowser:JWebBrowser;     if Supports(WebBrowser,JWebBrowser,NativeBrowser) then       NativeBrowser.clearCache(true);   {$ENDIF ANDROID}  
  4. Like
    Slym получил реакцию от destroyer86 в Serial port   
    я обычно с гуя:

  5. Like
    Slym получил реакцию от Edward Tarasov в Статус доступа к push   
    https://stackoverflow.com/questions/46457733/how-to-get-notification-authorization-status-in-swift-3
    т.е. както так- писал в блокноте
    procedure TForm1.FormCreate(Sender: TObject); begin   TUNUserNotificationCenter.OCClass.currentNotificationCenter.getNotificationSettingsWithCompletionHandler(OnNotificationSettings); end; procedure TForm1.OnNotificationSettings(NotificationSettings: UNNotificationSettings); begin   NotificationSettings.authorizationStatus; end;  
  6. Like
    Slym получил реакцию от Edward Tarasov в Статус доступа к микрофону   
    1. Патчить
     
    2. Не хочется генофонд трогать
    Можно скопипастить к себе TAVAudioSession и патчить у себя...

    а потом
    AudioSession := TAVAudioSession.Wrap(TAVAudioSession.OCClass.sharedInstance); if AudioSession.recordPermission=AVAudioSessionRecordPermissionDenied then AudioSession.requestRecordPermission(TPermissionBlock.Proc); type   TPermissionBlock=class   public     class procedure Proc(Granted: Boolean);   end; class procedure TPermissionBlock.Proc(Granted: Boolean); begin   if Granted then end;
     
  7. Haha
    Slym получил реакцию от Android в Delphi 10.4.1 и Андроид 11   
    Забаньте Maka - рекламирует платные ресурсы.
  8. Like
    Slym получил реакцию от Ingalime в [Android] Воспроизводить аудио   
    А при том что надо разделять транспорт, кодек и hal...
    я без проблем сделаю TCP/HTTP запрос, до что делать с данными? а может там udp? нужен декодер, и управлялка потоком
    декодер может и найду, но что делать с PCM данными... нужен компонент вывода звука
    вывод может найду...
    а если хотите кинуть батон и в продакшон... ищите сами

     
  9. Like
    Slym получил реакцию от Сергей Сергеев в Открытие PDF   
    Content-Disposition: inline?
    или тогда может в сторону js копать https://ru.stackoverflow.com/questions/439058/Открыть-pdf-в-окне-браузера-ajax
  10. Like
    Slym получил реакцию от dnekrasov в Расположение нажатого элемента управления по отношению к экрану   
    Доступ ко многим protected методам можно получить через интерфейсы:
    ClientToScreen доступен через IControl, т.е. любой контрол (Ctrl as IControl).ClientToScreen
     
    про поиск TCommonCustomForm - у всех контролов есть Root - TCommonCustomForm(Ctrl.Root.GetObject) (незабываем проверять nil :) )
    еще есть Scene...
     
  11. Thanks
    Slym получил реакцию от Олег Киреев в отследить изменение файла   
    https://yandex.ru/search/?text=findfirstchangenotification delphi&lr=237
    https://yandex.ru/search/?text=ReadDirectoryChanges delphi
  12. Like
    Slym получил реакцию от david_yusupov в Видимость объекта   
    Rectangle.ClipChildren   :=true
  13. Like
    Slym получил реакцию от Ingalime в Сим карта   
    обычный TCP...
    Sock:=TSocket.Create(TSocketType.TCP, TEncoding.GetEncoding(1251));
    Sock.Connect('',FAddress,'',FPort);
    Sock.Send('cmd')
    result:=Sock.ReceiveString();
     
     
  14. Thanks
    Slym получил реакцию от zekelive в Артефакты вокруг TLabel   
  15. Like
    Slym получил реакцию от Ingalime в THTTPClient - непонятная ошибка при POST-е json на сервер   
    и ручками править хрупкую структуру - нунах...
    там у тебя json, проверяй валидность json
    json:=TJSONObject.ParseJSONValue(Bytes, 0);
     
  16. Thanks
    Slym получил реакцию от Bob32 в THTTPClient - непонятная ошибка при POST-е json на сервер   
    Bytes:=TEncoding.UTF8.GetBytes(Memo1.Lines.Text);
    BytesStream:=TBytesStream.Create(Bytes);
    try
    HTTPResponse:=FHTTPClient.Post('https://securepay.tinkoff.ru/v2/Init', ByteStream);
    .....
    finally
      BytesStream.Free;
    end
  17. Like
    Slym получил реакцию от Ingalime в THTTPClient - непонятная ошибка при POST-е json на сервер   
    Bytes:=TEncoding.UTF8.GetBytes(Memo1.Lines.Text);
    BytesStream:=TBytesStream.Create(Bytes);
    try
    HTTPResponse:=FHTTPClient.Post('https://securepay.tinkoff.ru/v2/Init', ByteStream);
    .....
    finally
      BytesStream.Free;
    end
  18. Like
    Slym получил реакцию от Ingalime в VertScrollBox под IOS - баг с прокруткой   
    procedure TForm1.CalcContentBounds(Sender: TObject; var ContentBounds: TRectF); begin TCustomScrollBox(Sender).AniCalculations.BoundsAnimation:=(TCustomScrollBox(Sender).Size.Height<ContentBounds.Height); end;  
  19. Like
    Slym получил реакцию от gonzales в DisposeOf не вызывает деструктор (сам нашел причину, но решил написать)   
    вызывается виртуальный метод TObject.Destroy; виртуальный здесь ключевое! виртуальные методы хранятся в спецтабличке 
    Вы же разместили свой деструктор вне этой таблицы сделав его статичным.
    статичным он стал потому что нет правильного модификатора, по факту Вы написали destructor Destroy;пусто;
    модификатор overload - это из оперы несколько методов с одним названием.
    Destroy вызывается у всех типов в цепочке наследования кроме вашего типа, для вашего типа виртуальный Destroy не определен
  20. Like
    Slym получил реакцию от Ingalime в Ошибка при создании формы   
    Мы пользуем 1 форму. А сверху натягиваем различные TFrame
    TFrame - как форма, нормально визуально правится
  21. Like
    Slym получил реакцию от Yarpda в Чтение QR кода, нужен компонент или тулза   
    hints: TDictionary<TDecodeHintType, TObject>;   l: TList<TBarcodeFormat>; begin     if not Assigned(FScanManager) then     begin       hints := TDictionary<TDecodeHintType, TObject>.Create();       l:=TList<TBarcodeFormat>.Create;       l.Add(TBarcodeFormat.QR_CODE);       hints.Add(ZXing.DecodeHintType.POSSIBLE_FORMATS, l);       FScanManager := TScanManager.Create(TBarcodeFormat.QR_CODE, hints); не тестил
  22. Like
    Slym получил реакцию от Ingalime в Чтение QR кода, нужен компонент или тулза   
    hints: TDictionary<TDecodeHintType, TObject>;   l: TList<TBarcodeFormat>; begin     if not Assigned(FScanManager) then     begin       hints := TDictionary<TDecodeHintType, TObject>.Create();       l:=TList<TBarcodeFormat>.Create;       l.Add(TBarcodeFormat.QR_CODE);       hints.Add(ZXing.DecodeHintType.POSSIBLE_FORMATS, l);       FScanManager := TScanManager.Create(TBarcodeFormat.QR_CODE, hints); не тестил
  23. Thanks
    Slym получил реакцию от gonzales в multicast udp   
    А в инде все готово...
    procedure TForm1.FormCreate(Sender: TObject); begin   IdUDPServer1.ReuseSocket:=TIdReuseSocket.rsTrue;   IdUDPServer1.DefaultPort:=9898;   IdUDPServer1.Active:=true; end; procedure TForm1.IdUDPServer1AfterBind(Sender: TObject); begin   IdUDPServer1.Bindings[0].AddMulticastMembership('224.0.0.50'); end;  
  24. Like
    Slym получил реакцию от Ingalime в TSpinBox   
    Никак. Читайте что такое числа с плавающей точкой.
    1 правило работы с плавающей точкой: Нельзя проверять 2 числа на равенство оператором =
    нельзя:
    const dx:double=143.201; const sx:single=143.201; begin assert(dx=sx); end;  
  25. Like
    Slym получил реакцию от Ingalime в Свойства стиля у TSwitch   
    Мда...
    На такой случай мы патчим FMX.Controls.pas
    procedure TStyledControl.StyleDataChanged(const Index: string; const Value: TValue); var Obj: TObject; InstanceName, PropertyName: string; PropertyValue: TValue; begin PropertyName := Index; InstanceName := GetToken(PropertyName, '.'); if SameText(InstanceName,'self') then Obj:=FResourceLink else Obj := FindStyleResource(InstanceName); if Obj <> nil then и тогда ReleSwitch.StylesData['self.Fill.Color']
×
×
  • Создать...