Как подключить MSHTML
От: Etud Беларусь  
Дата: 28.11.07 10:50
Оценка:
Делаю редактор HTML.

Мне посоветовали добавить в референс MSHTML,
то есть найти объектную библиотеку COM mshtml.tlb.
c:\windows\system32\mshtml.tlb

У меня на машине, с установленной VS 2005 все работает хорошо,
а на другой машине — ошибка.

Если приложить Microsoft.mshtml.dll к проекту — все нормально.

В чем проблема и надо ли приклабывать к проекту
эту DLL (Microsoft.mshtml.dll).
Re: Как подключить MSHTML
От: _FRED_ Черногория
Дата: 28.11.07 11:16
Оценка:
Здравствуйте, Etud, Вы писали:

E>Делаю редактор HTML.

E>Мне посоветовали добавить в референс MSHTML,
E>то есть найти объектную библиотеку COM mshtml.tlb.
E>c:\windows\system32\mshtml.tlb
E>У меня на машине, с установленной VS 2005 все работает хорошо,
E>а на другой машине — ошибка.
E>Если приложить Microsoft.mshtml.dll к проекту — все нормально.
E>В чем проблема и надо ли приклабывать к проекту
E>эту DLL (Microsoft.mshtml.dll).

Надо прикладывать. Microsoft.mshtml.dll — это wrapper над "стандартной" mshtml.tlb. Врапер нушен для того, что бы работать с COM-ской билбиотекой (tlb) из .NET.
Help will always be given at Hogwarts to those who ask for it.
Re[2]: Как подключить MSHTML
От: Etud Беларусь  
Дата: 28.11.07 12:52
Оценка:
_FR>Надо прикладывать. Microsoft.mshtml.dll — это wrapper над "стандартной" mshtml.tlb. Врапер нушен для того, что бы работать с COM-ской билбиотекой (tlb) из .NET.

Тут просто один спорщик доказывал:
"подрубаешь в реферер mshtml.tlb и все, зачем еще Microsoft.mshtml.dll".


В чем минус — большой размер DLL(8 MБ) + к проекту.
Проект небольшой 100 КБ.
А есть ли способ ее уменьшить ???
Re[3]: Как подключить MSHTML
От: _FRED_ Черногория
Дата: 28.11.07 13:15
Оценка:
Здравствуйте, Etud, Вы писали:

E>В чем минус — большой размер DLL(8 MБ) + к проекту.

E>Проект небольшой 100 КБ.
E>А есть ли способ ее уменьшить ???

Можно тащить с собой TlbImp из SDK и запускать во время инсталяции. Зависимостей (лишних) у неё нет. Или же посмотреть её код рефлектором и передрать куда-либо себе алгоритм генерации враппера (но это для мазохистов).
Help will always be given at Hogwarts to those who ask for it.
Re[4]: Как подключить MSHTML
От: Etud Беларусь  
Дата: 28.11.07 13:50
Оценка:
_FR>Можно тащить с собой TlbImp из SDK и запускать во время инсталяции. Зависимостей (лишних) у неё нет. Или же посмотреть её код рефлектором и передрать куда-либо себе алгоритм генерации враппера (но это для мазохистов).

Вот попробовал этот способ:

TlbImp.exe mshtml.tlb /namespace:mshtml /out:microsoft.mshtml.dll


DLL-ка сгенерилась, но версия отличалась от майкрософтовской (7.0.3300.0) — 4.0.0...
Приложил, запустил — ошибка !

А как запускать TlbImp во время инсталяции ???
Re[5]: Как подключить MSHTML
От: _FRED_ Черногория
Дата: 28.11.07 14:14
Оценка:
Здравствуйте, Etud, Вы писали:

E>DLL-ка сгенерилась, но версия отличалась от майкрософтовской (7.0.3300.0) — 4.0.0...


А откуда у тебя взялась майкрософторская?

E>Приложил, запустил — ошибка !


Не бывает "ошибок" без каких-либо дополнительных данных: текст, тип исключения, дамп памяти, фотография блюскрина или обгоревшей материнской платы, … Какие данные есть на эту самую ошибку?

E>А как запускать TlbImp во время инсталяции ???


Почитай про то, как делать инсталяции.
Help will always be given at Hogwarts to those who ask for it.
Re[6]: Как подключить MSHTML
От: Etud Беларусь  
Дата: 28.11.07 17:29
Оценка:
_FR>А откуда у тебя взялась майкрософторская ?

Из VS 2005 родная — Microsoft.mshtml.dll(версия 7.0.3300.0).

Я к тому, что сгенерилась другая версия (4.0.0.0)
и она отличается от 7.0.3300.0
Re[7]: Как подключить MSHTML
От: _FRED_ Черногория
Дата: 28.11.07 18:16
Оценка:
Здравствуйте, Etud, Вы писали:

E>Я к тому, что сгенерилась другая версия (4.0.0.0)

E>и она отличается от 7.0.3300.0

А если к своему проекту подключить её и пересобрать?
Help will always be given at Hogwarts to those who ask for it.
Re[3]: Как подключить MSHTML
От: vdimas Россия  
Дата: 29.11.07 08:04
Оценка:
Здравствуйте, Etud, Вы писали:

E>В чем минус — большой размер DLL(8 MБ) + к проекту.

E>Проект небольшой 100 КБ.
E>А есть ли способ ее уменьшить ???

Отличный и правомерный вопрос. Уменьшить можно на пару порядков реально, смотря что именно тебе надо из интерфейсов mshtml. Алгоритм уменьшения следующий:
— берешь Reflector, и с помощью одного из плагинов к нему получаешь исходный код сымпортированной либы Microsoft.mshtml.dll, в исходниках ты увидишь лишь бесчисленные описания интерфейсов HTML DOM, а так же IDispatch-версии оных.
— смотришь в своём проекте, какие реально интерфейсы ты используешь, и удаляешь нафиг ненужное (обычно 99% не нужно).
— компилируешь остаток в новую либу, или как вариант — присовокупляешь этот остаток непосредственно к своему проекту.

Успехов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.