Вверх ↑
Ответов: 4638
Рейтинг: 755
#1: 2019-09-16 13:44:29 ЛС | профиль | цитата
Посмотрел. Падает на любом обращении к WebBrowser, например:
_debug(string(WebBrowser.Get_LocationURL));

Предполагаю: падает по той же причине, по которой в штатном FPC не работает вообще ничего, связанного с COM-интерфейсами. Начинать разбираться следует с файла compiler\fpc\KOLComObj.pas, в котором есть попытка реализации низкоуровневой работы с интерфейсами Windows в виде функций DispCallByID(), VarDispInvoke() (да и всё остальное с ассемблерными вставками). Кладов этот файл делал для Delphi. А кто его портировал на FPC? И оно работало?
Как минимум, можно сравнить с оригинальной реализацией comobj.pp из исходников FPC 1.9.6, если нужен именно старый. Но лучше разбираться с новым FPC - там хотя бы работающие activex.pp/comobj.pp.
Для нового FPC я пробовал править KOLComObj.pas, выдирая куски кода из родного comobj.pp, но мало что получилось.
карма: 26

0
Редактировалось 3 раз(а), последний 2019-09-16 13:47:58