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

Rusland

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

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

  • Посещение

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

    25

Весь контент Rusland

  1. Ответ из этой ссылки #if DEBUG @implementation NSURLRequest (NSURLRequestWithIgnoreSSL) + (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host { return YES; } @end #endif позволяет в XCode работать с самоподписанными сертификатами. Всего пару строк добавил и заработало Хотелось бы так же просто и в FMX... или переходить на XCode?
  2. Упоминания didReceiveAuthenticationChallenge есть в файлах: iOSapi.Foundation.pas, System.Net.HttpClient.Mac.pas, Macapi.Foundation.pas, Macapi.WebKit.pas Что со всем этим делать не ясно
  3. Нашел этот .info.plist В нем указано: <dict> <key>NSAllowsArbitraryLoads</key><true/> </dict> Это и есть YES? Нельзя ли рассказать подробнее что конкретно и как править? Если честно, то не понял вообще что делать didReceiveAuthenticationChallenge в FMX.WebBrowser.Delegate.iOS.pas нет (во всей директории source\fmx тоже). @Fedor K не могли вы выложить готовый пример с правками?
  4. в ImageList размер может быть любой
  5. Скорее всего проблема в том, что вы используете русские буквы: Ответ1 Ответ2 Ответ3 ... Возможно проблема в кодировке файла. Она должна быть utf8. Лучше замените буквы на латинские: Otvet1 Otvet2 Otvet3 ...
  6. Вообще никаких сообщений не показывается? Тогда только смотреть через monitor.bat, что там происходит с приложением.
  7. Что значит не запускается? В режиме дебаг что-то выдает наверное...
  8. Судя по скринам ini-файл берется из папки Android\Debug. Зачем так делать? Эту папку создает сама студия. Возможно что Clean очищает все содержимое в этой папке и строка становится неактивной, потому что файла больше нет. Какую ошибку при этом выдает?
  9. Если нужен именно слайдер, то посмотрите на этот компонент Ярослава
  10. var Form1: TForm1; ind: integer; implementation {$R *.fmx} procedure TForm1.FormCreate(Sender: TObject); begin ind := 0; end; procedure TForm1.Timer1Timer(Sender: TObject); begin ind := ind + 1; if FileExists(System.IOUtils.TPath.Combine( System.IOUtils.TPath.GetDocumentsPath, 'picture' + ind.ToString + '.png')) then Image1.Bitmap.LoadFromFile(System.IOUtils.TPath.Combine( System.IOUtils.TPath.GetDocumentsPath, 'picture' + ind.ToString + '.png')); end;
  11. Аналогично, UserAgent нормально до сервера доходит
  12. Эта тема так и осталась открытой? Дальше Accept:=true в OnValidateServerCertificate никто не ушел?
  13. Кто-нибудь пробовал получать SSL-сертификат через letsencrypt.com? Вроде бесплатно дают, только не понятно на какой срок
  14. Сроки перенесли на 2018 год, видимо на весну. PS. @Brovin Yaroslav, вылечи своего робота, он картинки не показывает.
  15. @haword А как подобную проблему решить в Windows? Сайт с неверным сертификатом. Как его нормально открыть?
  16. Переключил режим Энергосбережения с Оптимальный на Отключено и сразу проблема с коннектом пропала
  17. Официальное название: Тинькофф Официальный сайт: http://tinkoff.ru Платформы: Android, iOS
  18. проверьте FileExists выдаст что файл действительно лежит по такому пути?
  19. uses FMX.DialogService, FMX.VirtualKeyboard ... procedure TfrSets.txtPassClick(Sender: TObject); begin InputText('Введите пароль', Sender); end; procedure TfrSets.InputText(heading: String; Sender: TObject); var FKService: IFMXVirtualKeyboardService; begin TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(FKService)); TDialogservice.InputQuery(heading, ['Ввод'], [(Sender as TText).Text], procedure(const AResult: TModalResult; const AValues: array of string) begin case AResult of mrOk: begin (Sender as TText).Text:=avalues[0]; if (FKService<>nil) and (TVirtualKeyBoardState.Visible in FKService.VirtualKeyBoardState) then begin FKService.HideVirtualKeyboard; end; end; mrCancel: begin if (FKService<>nil) and (TVirtualKeyBoardState.Visible in FKService.VirtualKeyBoardState) then begin FKService.HideVirtualKeyboard; end; end; end; end ); end; Делаю так ^^^
  20. Проверил, запускает и работает (Xiaomi Redmi Note 4 MIUI Global 8.5). Но вот наблюдаю такую проблему: Есть сервис, который при старте делает POST-запрос и создает "будильник", для последующего перезапуска самого себя: function TDM.AndroidServiceStartCommand(const Sender: TObject; const Intent: JIntent; Flags, StartId: integer): integer; begin Result := TJService.JavaClass.START_STICKY; // тут может быть и START_NOT_STICKY - это не важно SendPost('post запрос до сервера'); PendIntent(); end; procedure TDM.PendIntent(); var Intent: JIntent; PendingIntent: JPendingIntent; begin Intent := TJIntent.Create; Intent.setAction(StringToJString('60sec')); Intent.setClassName(TAndroidHelper.Context, StringToJString('com.embarcadero.services.CabSrv')); PendingIntent := TJPendingIntent.JavaClass.getService(TAndroidHelper.Context, 1, Intent, 0); TAndroidHelper.AlarmManager.&set(TJAlarmManager.JavaClass.RTC_WAKEUP, getTimeAfterInSecs(60), PendingIntent); // раз в минуту вызываем сервис end; procedure TDM.SendPost(txt: string); var aResponse: IHTTPResponse; aResponser: TResponser; sStream: TStringStream; aHttpClient: TNetHTTPClient; sList: TStringList; begin TTask.Run( procedure begin try aHttpClient := TNetHTTPClient.Create(nil); aHttpClient.OnValidateServerCertificate := OnValidateServerCertificate; aHttpClient.AcceptLanguage := 'ru,en;q=0.8'; aHttpClient.ContentType := 'application/x-www-form-urlencoded'; aHttpClient.AcceptCharset := 'utf-8'; aHttpClient.Accept := 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8'; sStream := TStringStream.Create(); sList := TStringList.Create; sList.Add('txt=' + txt); try aResponse := aHttpClient.Post(Sets.Host, sList, sStream); finally if ((sStream <> nil) and (aResponse <> nil)) then begin Log('SendPost OK'); end else Log('SendPost Error'); sStream.Free; sList.Free; end; finally aHttpClient.Free; end; end); end; Так вот если выгрузить программу (сервис перезапускается) и выключить экран, то через несколько минут сервис не может достучаться до сервера. except java.net.SocketTimeoutException: connect timed out В чем может быть проблема и как ее решить?
×
×
  • Создать...