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

afors

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

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

  • Посещение

Сообщения, опубликованные afors

  1. Заметил странное поведение приложения при наличии обоих компонентов (WebBrowser1 и ComboBox1)

    1. При раскрытии и закрытии списка ComboBox, браузер обновляет страницу. Причем не важно, перекрывает ли список браузер или нет.

    2. Если список хоть раз раскрыли и СВЕРНУЛИ(!), то при закрытии программы вылетает ошибка, которая решается освобождением браузера (WebBrowser1.Free)

    Второй вопрос не так важен, но хотелось бы знать причину такого поведения, если кто знает...

    Но вопрос №1: очень прошу помощи - как сделать, чтобы при раскрытии ComboBox браузер не обновлял страницу?

    Прилагаю пример проекта.

    WB_CB_Err.zip

    PS: Delphi 10.1 Berlin (UPD1 и UPD2)

  2. Проблема решилась динамическим созданием/удалением 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;
    ...

     

  3. Рано радовался)

    При повторном обновлении снова зависает. Похоже в какую-то цикличность уходит, оперативная память забивается, В студии бегут строки как на картинке. А с кнопки все как надо (не в потоке)

    sh.png

  4. Всем доброго дня или вечера...

    Пытаюсь разобраться как получить скриншот загруженной страницы в Image1. У WebBrowser1 есть встроенная функция WebBrowser1.MakeScreenshot. Если по нажатии на Button1 выполнить код 

    Image1.Bitmap:=WebBrowser1.MakeScreenshot;

    , то все работает. А если выполнить этот же код при срабатывании события OnDidStartLoad, приложение зависает.

    Как это побороть?

    PS: файл проекта прилагается...

    SceenShotFromWebBrowser.zip

  5. 1 час назад, Anasazi сказал:

    Доброго времени суток! Есть приложение в котором используется TWebbrowser, хотел сделать чтобы при свайпе справа-налево выполнялся WebBrowser.GoBack, но обнаружил что жесты работают везде кроме TWebbrowser. Подскажите пожалуйста есть ли какое-либо решение этой проблемы? RAD Studio Berlin Update 1.

    Ответ Равиля на похожий вопрос:  "... нативные компоненты всегда располагаются выше стилизованных.

    ждать нужно будущих версии студии, там будут нативные компоненты под андроид и ZOrder"

  6. В 06.10.2015 в 01:57, Ufomaster сказал:

    Как при переходе с эдита на эдит очистить предыдущий текст в клавиатуре, что бы он не попал в новый эдит при нажатии на любой символ? 

    Думал, у меня одного такой глюк ))

    Клавиатура TouchPal

  7. procedure TForm1.Button1Click(Sender: TObject);
    Var
      s: String;
    begin
      s := '×123.txt';
      If FileExists (s) Then ShowMessage(s + ' yes') Else ShowMessage (s+ ' No');
    end;

    Вот так FileExists находит файл с символом × в имени. Но этот файл был создан обычным проводником Windows. Total Commander отказался создавать такой файл, заменив × на вопросительный знак.

    Файл создается программой?

  8. Только что, Равиль Зарипов (ZuBy) сказал:

    чаще всего такое поведение из-за неправильной высоты текста

    это как-то можно отследить?

    Текст программно не меняется, он "как есть" с дизайнера проекта, выравнивание по Client

  9. Всем привет! У кого-нибудь бывает такое:

    01.png02.png

    Rad Studio 10.1 Berlin Update 2

    На Rectangle кидаю компонент Text или Label. Иногда при запуске приложения, примерно 1 из 8 запусков, символы отображаются некорректно. Хотелось бы узнать причину такого поведения.

  10. Подскажите как реализовать список из CheckBox как на картинке. Думаю использовать ListView. Список не большой, до 300 элементов. Если можно пример динамического создания одного чекбокса в ListViewItem. Или может есть более удобные компоненты для реализации этой задачи?

    Если подобная тема уже поднималась, то можно ссылку на нее...

    ListViewCheckBox.png

  11. 20 часов назад, kami сказал:

    а если сделать не при запуске, а (временно) по нажатию на какую-нибудь кнопку, чтобы до перехода по URL WB 100% полностью инициализировался, отобразился и так далее.

    У меня по нажатии на кнопку. Имеется ввиду при первом обращении к WB

    unit Unit1;
    
    interface
    
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
      FMX.Controls.Presentation, FMX.StdCtrls, FMX.WebBrowser;
    
    type
      TForm1 = class(TForm)
        WebBrowser1: TWebBrowser;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.fmx}
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Webbrowser1.Navigate('https://maps.googleapis.com/maps/api/staticmap?center=55.026900,73.302900&size=400x400&sensor=true&format=png32&maptype=satellite&markers=color:0x000000|label:1');
    end;
    
    end.


     

  12. В 06.02.2017 в 11:40, rareMax сказал:

    Попробуй так

    Статья полезная, правку реестра уже сделал. Ничего не изменилось.

    Насколько я понимаю, параметры в адресной строке указывают на то, что google должна вернуть снимок (рисунок) 400х400. Webbrowser1 пытается его скачать, вместо того, чтобы просто отобразить. С толку сбивает то, что это сообщение выходит только один раз при первом обращении к Webbrowser1. Пустяк, но раздражает...

  13. Delphi 10.1 Berlin, Windows7x64, IE8

    При запуске

    Webbrowser1.Navigate('https://maps.googleapis.com/maps/api/staticmap?center=55.026900,73.302900&size=400x400&sensor=true&format=png32&maptype=satellite&markers=color:0x000000|label:1');

    браузер будто пытается сохранить файл и выдает ошибку 'Не удалось загрузить staticmap из maps.googleapis.com'

    При последующих запусках этого же URL Webbrowser1 правильно отображает картинку.

    Как можно изменить URL или (лучше не URL) свойства Webbrowser1, чтобы избежать этой ошибки?

    Заранее спасибо за любые советы

    Err.png

×
×
  • Создать...