Как перезапустить TChromium? запускается компонент так, все работаетprogram SimpleBrowser;
///////////////////////////////////////
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.cache := 'cef\cache';
GlobalCEFApp.cookies := 'cef\cookies';
GlobalCEFApp.UserDataPath := 'cef\User Data';
}
////////////////////////////////////////////////////////
if GlobalCEFApp.StartMainProcess then
begin
Application.Initialize;
{$IFDEF DELPHI11_UP}
Application.MainFormOnTaskbar := True;
{$ENDIF}
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
GlobalCEFApp.Free;
end.
как мне его перезапустить? чтобы поменять папку с кэшем.
следующий код ошибок не выдает, но создает копию формы, и на ней ничего не работаетprocedure TForm1.Button1Click(Sender: TObject);
begin
GlobalCEFApp.Free;
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.cache := 'cef\cache';
GlobalCEFApp.cookies := 'cef\cookies';
GlobalCEFApp.UserDataPath := 'cef\User Data';
GlobalCEFApp.StartMainProcess
end;https://github.com/salvadordf/CEF4Delphi/tree/mast...

21 Авг 2019 в 06:23
350 +1
0
Ответы
1

Чтобы перезапустить TChromium и изменить папку с кэшем, вам необходимо провести следующие действия:

Убедитесь, что имеется только один экземпляр TCefApplication (GlobalCEFApp) в вашем приложении. После вызова GlobalCEFApp.Free убедитесь, что GlobalCEFApp равно nil.

Создайте новый экземпляр TCefApplication с новыми настройками (новая папка для кэша) и вызовите метод StartMainProcess для запуска процесса.

Пересоздайте экземпляр TChromium или просто обновите его на новый экземпляр TCefApplication.

Пример кода:

procedure RestartChromium;
begin
if Assigned(GlobalCEFApp) then
begin
GlobalCEFApp.Free;
GlobalCEFApp := nil;
end;
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.cache := 'new_cache_folder'; // Поменяйте на новую папку для кэша
GlobalCEFApp.cookies := 'cef\cookies';
GlobalCEFApp.UserDataPath := 'cef\User Data';
if GlobalCEFApp.StartMainProcess then
begin
// Обновите экземпляр TChromium на новый
// Например, Form1.Chromium.Load('about:blank');
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
RestartChromium;
end;

Надеюсь, это поможет вам перезапустить TChromium с новыми настройками.

20 Апр 2024 в 13:19
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир