Open vGhost2000 opened 11 years ago
Не нужно ее переименовывать в chromium_exec2, она должно уничтожать объект хромиума. Из-за бага PHP4Delphi иногда после удаления функции-объекта, происходит смещение событий, приводя к таким вот досадным багам.
А зачем там отдельная процедура для уничтожения объекта хромиума, когда стандартная TObject::free() -> gui_destroy(...) из родительского класса с этой задачей отлично справляется?
Не помню почему, был какой-то глюк, по-идее должен работать и gui_destroy.
Не помню почему, был какой-то глюк, по-идее должен работать и gui_destroy.
Может потому, что TChromium - интерфейсный объект, создающийся на стороне библиотеки? Anyway there's only one reason for that: use chromium_free + gui_safedestroy after.
файл uPHPMod.pas: процедура TphpMOD._ChromiumFunctions1Execute - в uPHPMod.dfm называется chromium_free, но по коду таковой не является. В итоге c('chromiumN')->free(); не приводит абсолютно не к чему.
1) в uPHPMod.dfm переименовать chromium_free во что нибудь более смыслу соответствующее ну там не знаю например chromium_exec2
2) в core/main/web.php удалить строки:
тогда будет срабатывать родительский метод и c('chromiumN')->free(); будет отрабатывать как задумано.