У меня MyIE запускается только через ww. При нажатии на ссылки видим: fixme:hlink:IHlink_fnSetMonikerReference (0x16c558)->(0 0x177e58 (null)) fixme:shdocvw:HlinkFrame_Navigate unsupported grfHLNF=00000002 fixme:hlink:IHlink_fnGetStringReference (0x16c558) -> (1 (nil) 0x33f2a4) fixme:shdocvw:HlinkFrame_Navigate Not supported HLNF_OPENINNEWWINDOW
Для MyIE нужен msvbvm60.dll
Работает, но например на mail.ru ссылки не открывает. На yandex.ru открывает. Странно.
04,02,2008 Было принято несколько патчей Jacek Caban в CVS, улучшающих работу hlink.
Потестировал со своим wine - у меня MyIE запускается, только если в адресной строке набрать адрес, то ничего не происходит.
Если в адресной строке адрес набрать полностью (т.е. http://www.yandex.ru), то все нормально, а если короткий вариант (т.е. www.yandex.ru), то ни чего не происходит.
Это то же самое, что с параметрами к iexplore (вайновскому). Значит умное добавление протокола должно происходить где-то внутри API.
Сделал hack, который исправляет проблему с адресами без указания протокола. Переход по ссылкам на некоторых сайтах так и не работает, всегда появляется следующая запись при нажатии на любую ссылку. err:mshtml:before_async_open GetWineURL returned NULL
Надо как-то разобраться, что с GetWineURL, в чём проблема. Возможно, следует завести отдельную багу.
Ну эта бага на эту тему и заведена, на сколько я понял. Проблема даже не в функции GetWineURL - она реализована и ни чего сложного не делает, а лишь возвращает значения одного из полей. Скорее сбой происходит, где-то при загрузке(разборе) страницы, раз поле не имеет ни какого значения.
Получен вот такой трейс, в котором видно, что функции вызываются из самого парсера gecko и уже вызываются с нулевым параметром, т.е. похоже ошибка приисходит в самом движке (при разборе некоторых страниц), а не в wine. Backtrace: =>1 0x7e649018 nsURI_SetWineURL+0x158(iface=0x151dd0, aURL=0x0) [/home/ivan/wine-20061224/dlls/mshtml/nsio.c:1768] in mshtml (0x0033ece4) 2 0x7e648d96 nsURI_Clone+0x76(iface=<register EDI not in topmost frame>, _retval=0x33ef1c) [/home/ivan/wine-20061224/dlls/mshtml/nsio.c:1618] in mshtml (0x0033ed24) 3 0x013dc9e0 in necko (+0x4c9e0) (0x0033ef24) 4 0x7e6464cc nsChannel_SetReferrer+0x3c(iface=0x1380e8, aReferrer=<register EDI not in topmost frame>) [/home/ivan/wine-20061224/dlls/mshtml/nsio.c:889] in mshtml (0x0033ef54) 5 0x015174de in gklayout (+0x874de) (0x0033efac) 6 0x01517c99 in gklayout (+0x87c99) (0x0033efcc) 7 0x01679466 in gklayout (+0x1e9466) (0x0033f334) 8 0x015cf92f in gklayout (+0x13f92f) (0x0033f4b4) 9 0x015ce97d in gklayout (+0x13e97d) (0x0033f4c8) 10 0x015ce8ac in gklayout (+0x13e8ac) (0x0033f580) 11 0x01819b26 in gkparser (+0x9b26) (0x0033f5c0) 12 0x018172bc in gkparser (+0x72bc) (0x0033f5f8) 13 0x01816cfe in gkparser (+0x6cfe) (0x0033f630) 14 0x0182263f in gkparser (+0x1263f) (0x0033f658) 15 0x0182243f in gkparser (+0x1243f) (0x00000000)
Нет, похоже ошибка все же в wine, т.к. при использовании dll библиотек Gecko из Firefox, ошибка вопроизводится, хотя firefox правильно работает с этими же сайтами.
Добавил hack, который добавляет возможность открывать ссылки в новой вкладке. Попробую написать на wine-devel, узнать о правильности такого решения. Проблема о неработающих ссылках на некоторыхсайтах остается актуальной.
Это было просто как пример программы, использующий shdocvw.
Для тех, кто не пользуется багзиллой или не умеет пользоваться групповым редактированием при поиске, закрываем задачи, которые они должны были принять.