-
Постов
58 -
Зарегистрирован
-
Посещение
Весь контент afors
-
Может до запрета запуска второй копии как-то передать "сообщение" ( ParamStr(1) ) уже запущенной копии?
-
windows Вызов TPopup ломает поведение TWebBrowser
afors ответил Вадим Смоленский вопрос в TWebBrowser
@Вадим Смоленский Думаю пример kami решит проблему. Если интересно, то вот еще ссылка... -
@wamaco Попробовал TMS FMX WebGMaps, очень удобно. Но он тоже перекрывает контролы. Может это надстройка над WebBrowser? И если кидаю его на TabControl, приложение Windows и Android зависает, а без TabControl никак (ну или платный из TMS вроде есть что-то). Собираюсь написать в поддержку. Если кто сталкивался с подобным отпишитесь...
-
Может и банально, но соответствует критериям... Официальное название: whatsapp Официальный сайт: https://www.whatsapp.com/ Платформы: Android, iPhone, Компьютеры Mac или Windows, Windows Phone
-
@dnekrasov Так просто? Какие модули используют ShowWindow, ApplicationHWND и SW_HIDE? (SW_HIDE нашел в модуле Uses Windows)
-
Спасибо, буду знакомиться с TNetHTTPClient и TNetHTTPRequest. А пока изменил HTTPS на HTTP: fMain.IdHTTP1.Post('http://android.googleapis.com/gcm/send', AData, AResponseContent); На Android 6 заработало. Только не знаю чем это грозит...
-
Всем привет! Пытаюсь отправлять PUSH через компонент IdHTTP //... //Var ID: Integer; //... Procedure SentPush (ServerKey, DeviceToken: String); // Uses System.JSON var AJson: TJSONObject; AJsonData: TJSONObject; ARegisterIds:TJSONArray; AData, AResponseContent:TSTringStream; Begin ARegisterIds := TJSONArray.Create; AJson := TJSONObject.Create; try ARegisterIds.Add(DeviceToken); AJsonData := TJSONObject.Create; AJsonData.AddPair('id', ID.ToString()); ID := ID + 1; AJsonData.AddPair('message', 'Привет'); AJson.AddPair('registration_ids', ARegisterIds); AJson.AddPair('data', AJsonData); fMain.IdHTTP1.Request.ContentType := 'application/json'; fMain.IdHTTP1.Request.CustomHeaders.AddValue('Authorization', 'key=' + ServerKey); AData := TStringStream.Create(AJson.ToString, TEncoding.UTF8); AData.Position := 0; AResponseContent := TStringStream.Create('', TEncoding.UTF8); fMain.IdHTTP1.Post('https://android.googleapis.com/gcm/send', AData, AResponseContent); AResponseContent.Position := 0; fMain.Memo1.Lines.Add('https://android.googleapis.com/gcm/send' + AJson.ToString); fMain.Memo1.Lines.Add(AResponseContent.DataString); finally end; End; Пример взят с На Windows работает, Push отправляются и приходят. Тот же самый код на Android не работает, выдает ошибку: Could not load SSL library. На форумах советуют обновить Indy, подсунуть недостающую библиотеку... Кто подскажет чем это лечится? (Delphi 10.1 Berlin Upd2. Android 6)
-
Можно без показа экрана набора номера: procedure TForm1.Button1Click(Sender: TObject); // Uses FMX.Dialogs, FMX.PhoneDialer, FMX.Platform var PhoneDialerService: IFMXPhoneDialerService; begin if TPlatformServices.Current.SupportsPlatformService(IFMXPhoneDialerService, IInterface(PhoneDialerService)) then PhoneDialerService.Call('+71234567890') Else ShowMessage ('Вызовы не поддерживаются'); end;
-
@krapotkin у меня по второму варианту нет необычного эффекта, экран гасится. Но во всех случаях мне пришлось добавить модуль Androidapi.Helpers. Без него не запустилось.
-
Не дать экрану заснуть (отключиться)
afors опубликовал вопрос в Использование статических библиотек SO
Ребят, не так давно была тема о том, как не дать устройству уснуть (или выключить) экран. Не могу найти, может поделится кто ссылкой? (возможно неверно указал категорию темы, но "экран" в категориях не нашел) -
Равиль, твой последний вариант работает, спасибо!
-
Тестирую на разных машинах, пока все ок!
-
В другом проекте браузер не отображает ни одну страницу. По твоему примеру закомментировал только одну строчку. Пока вроде все хорошо и раскрытие списка не перезагружает браузер. procedure TCustomWebBrowser.FormHandleCreated(const Sender: TObject; const Msg: TMessage); var WBService : IFMXWBService; begin if not (csDesigning in ComponentState) and TPlatformServices.Current.SupportsPlatformService(IFMXWBService, WBService) then begin FWeb := WBService.CreateWebBrowser; FWeb.SetWebBrowserControl(Self); // FWeb.UpdateContentFromControl; FWeb.URL := FURL; FWeb.Navigate; end; end;
-
Спасибо Равиль, теперь все работает!
-
Вот что пишет:
-
На Android нет проблем. У меня нет доступа к странице по ссылке)
-
Заметил странное поведение приложения при наличии обоих компонентов (WebBrowser1 и ComboBox1) 1. При раскрытии и закрытии списка ComboBox, браузер обновляет страницу. Причем не важно, перекрывает ли список браузер или нет. 2. Если список хоть раз раскрыли и СВЕРНУЛИ(!), то при закрытии программы вылетает ошибка, которая решается освобождением браузера (WebBrowser1.Free) Второй вопрос не так важен, но хотелось бы знать причину такого поведения, если кто знает... Но вопрос №1: очень прошу помощи - как сделать, чтобы при раскрытии ComboBox браузер не обновлял страницу? Прилагаю пример проекта. WB_CB_Err.zip PS: Delphi 10.1 Berlin (UPD1 и UPD2)
-
Проблема решилась динамическим созданием/удалением TWebBrowser: ... var Form1: TForm1; DynBrowser: TWebBrowser; implementation {$R *.fmx} procedure TForm1.WebBrowser1DidFinishLoad(ASender: TObject); var aThread: TThread; begin aThread := TThread.CreateAnonymousThread( procedure begin TThread.Synchronize(nil, procedure begin Image1.Bitmap := DynBrowser.MakeScreenshot; DynBrowser.Free end) end); aThread.FreeOnTerminate := true; aThread.Start; end; procedure TForm1.Button1Click(Sender: TObject); begin DynBrowser:=TWebBrowser.Create(self); DynBrowser.Parent:=TabItem2; DynBrowser.Align:=TAlignLayOut.Client; DynBrowser.OnDidFinishLoad:=Form1.WebBrowser1DidFinishLoad; DynBrowser.Navigate(Memo1.Text); DynBrowser.Free; end; ...
-
Рано радовался) При повторном обновлении снова зависает. Похоже в какую-то цикличность уходит, оперативная память забивается, В студии бегут строки как на картинке. А с кнопки все как надо (не в потоке)
-
Так работает, хоть и не до конца понимаю такой подход. Это запуск процедуры в потоке? Спасибо, Равиль!!!
-
Всем доброго дня или вечера... Пытаюсь разобраться как получить скриншот загруженной страницы в Image1. У WebBrowser1 есть встроенная функция WebBrowser1.MakeScreenshot. Если по нажатии на Button1 выполнить код Image1.Bitmap:=WebBrowser1.MakeScreenshot; , то все работает. А если выполнить этот же код при срабатывании события OnDidStartLoad, приложение зависает. Как это побороть? PS: файл проекта прилагается... SceenShotFromWebBrowser.zip