|
|
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
Есть DLL (my.dll), сделанная на VB. Цепляю ее через Refrences к MsOffice(excel,word,access) приложениям, чтобы в их VBA редакторе вызывать функции этой DLL. Как и с помощью какого инструмента можно сделать контекстный Help к функциям этой DLL, чтобы при нажатии горячей клавиши выходила подсказка по той функции, на которой стоит курсор в VBA редакторе. Желательно , чтобы Help получился не хуждей функциональности , чем *.chm. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2008, 19:03 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
Можно ли аналогично сделать интегрированный Help для Visual Studio 6 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2008, 19:05 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
kefi, ну так и сделай CHM. Ошибка вызова справки(рис). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2008, 19:45 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
2 Бенедикт> Ты , imho, не понял - мне нужно , чтобы help был интегрирован в редактор VBA кода , а не в готовое run-time приложение. Т.е. чтобы он в designe-time работал. Как я могу свой CHM итегрировать в редактор VBA кода Excel'я ,например, чтобы при нажатии F1(или другой какой горячей клавиши), когда курсор над словом myvb.dll. MyFunction (123) вылезал Help по этой моей функции MyFunction() из моей DLL myvb.dll ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2008, 22:53 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
> Автор: kefi > 2 Бенедикт> > Ты , imho, не понял - мне нужно , чтобы help был интегрирован в > редактор VBA кода , а не в готовое run-time приложение. Т.е. чтобы он в > designe-time работал. > Как я могу свой CHM итегрировать в редактор VBA кода Excel'я > ,например, чтобы при нажатии F1(или другой какой горячей клавиши), когда > курсор над словом myvb.dll.MyFunction(123) вылезал Help по этой моей > функции MyFunction() из моей DLL myvb.dll ? При создании своей ДЛЛ сразу интегрируй справку. В VB6 меню Tools -> Procedure Attributes вот там и привязывай свой хелп :) А в VBA он уже подтянется, если все правильно сделаешь :) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2008, 10:31 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос При создании своей ДЛЛ сразу интегрируй справку. В VB6 меню Tools -> Procedure Attributes вот там и привязывай свой хелп :) Нет, спасибо, это я делаю, этого мне недостаточно - там всего-то ничего (пара предложений) умещается , остальное обрезается, мне нужен полноценный, многостраничный и контекстно зависимый Help . короче, как описано в первом посте, повторять третий раз уже ,я думаю,не стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2008, 11:58 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
> Автор: kefi > Игорь Горбонос > > При создании своей ДЛЛ сразу интегрируй справку. В VB6 меню > Tools -> > Procedure Attributes вот там и привязывай свой хелп :) > > > > Нет, спасибо, это я делаю, этого мне недостаточно - там всего-то > ничего (пара предложений) умещается , остальное обрезается, > мне нужен полноценный, многостраничный и контекстно зависимый Help . > короче, как описано в первом посте, повторять третий раз уже ,я думаю,не > стоит. А там как раз место для описания функции, а не для многостраничного хелпа, для справки там есть Project Help File который устанавливается в свойствах самого проекта, и Help Context ID который отвечает какой раздел справки показывать при нажании кнопки F1 по этой функции в том-же редакторе VBA. В первом посте написанно: "Как и с помощью какого инструмента можно сделать контекстный Help к функциям этой DLL, чтобы при нажатии горячей клавиши выходила подсказка по той функции, на которой стоит курсор в VBA редакторе. Желательно , чтобы Help получился не хуждей функциональности , чем *.chm." это был ответ на часть: "чтобы при нажатии горячей клавиши выходила подсказка по той функции, на которой стоит курсор в VBA редакторе" на часть вопроса: "Желательно , чтобы Help получился не хуждей функциональности , чем *.chm." зависит только от тебя, насколько распишешь, так и будет. почти первая часть вопроса: "с помощью какого инструмента можно сделать контекстный Help к функциям этой DLL" Бенедикт тебе дал ссылку на пост где sl_play писал с помощью какой программы он сделал chm-файл. Насколько мне известно это единственный инструмент, который делает chm-файлы(хотя я других не искал ;) ). Тот же Help&Manual использует тот компилятор для создания chm-файлов. И наконец главный вопрос КАК сделать справку :) здесь берёшь инструменты и доку по созданию, а здесь берёшь пример для акцеса и эксперементируешь или просто читаешь и делаешь ;) Удачи Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2008, 12:33 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
kefi2 Бенедикт> Ты , imho, не понял - мне нужно , чтобы help был интегрирован в редактор VBA кода , а не в готовое run-time приложение. Т.е. чтобы он в designe-time работал. Как я могу свой CHM итегрировать в редактор VBA кода Excel'я ,например, чтобы при нажатии F1(или другой какой горячей клавиши), когда курсор над словом myvb.dll. MyFunction (123) вылезал Help по этой моей функции MyFunction() из моей DLL myvb.dll ?Я понял, и дал ссылку, где я расписал тонкий момент - как в .hhp-файле (HTML Help Project) описать контекстные идентификаторы. Игорь Горбонос расписал другие шаги, в частности, привязку к .chm-файлу в свойствах VB-проекта и присвоение контекстных идентификаторов в атрибутах процедур. Оболочка, которую MS предлагает как front-end к компилятору HTML, конечно, не верх эргономичности и стабильности, есть альтернативы от других компаний, но и к ней можно (поплеваться и) приспособиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2008, 13:33 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос,Бенедикт> теперь немного прояснело, спасибо. Но вот подскажите еще для начала работы - мне неясен сам принцип использования ContextID: Я понял , что для всех процедур и методов я должен назначить свои уникальные ContextID - целые больше нуля числа (кстати тоже не сахар работка - несколько сотен функций, можно по ошибке и одинаковые назначить - VB это почему-то позволяет). Но вот что нужно ставить в свойствах самого проекта в окошечке Project Help Context ID я не пойму - по описанию в MSDN, это ContextID той функции , которая вызовется в F2 Object Browser' е при нажатии клавиши F1 ( Project Help Context ID Lists the context ID for the specific Help topic to be called when the user selects the button while the application’s object library is selected in the Object Browser. ) От Какой же функции ContextID я должен положить в Project Help COntext ID ? И вообще говоря - зачем он там? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2008, 14:28 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
И еще: - а как можно будет распространять сделанный Help к моей DLL? Если DLL можно просто зарегестрировать в системе у полььзователя, то как установить там созданный chm хелп, чтобы он был доступен по F1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2008, 14:33 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
kefiНо вот подскажите еще для начала работы - мне неясен сам принцип использования ContextID: Я понял , что для всех процедур и методов я должен назначить свои уникальные ContextID - целые больше нуля числа (кстати тоже не сахар работка - несколько сотен функций, можно по ошибке и одинаковые назначить - VB это почему-то позволяет).Да. Написание и поддержка документации дело нудное и затратное. Что можно назначить одинаковые - не ошибка, я бы сделал так же, чтобы несколько функций могли ссылаться на одну страницу, например. kefiНо вот что нужно ставить в свойствах самого проекта в окошечке Project Help Context ID я не пойму - по описанию в MSDN, это ContextID той функции , которая вызовется в F2 Object Browser' е при нажатии клавиши F1 ( Project Help Context ID Lists the context ID for the specific Help topic to be called when the user selects the ? button while the application’s object library is selected in the Object Browser. ) От Какой же функции ContextID я должен положить в Project Help COntext ID ? И вообще говоря - зачем он там?По-моему, чётко написано. Выбираешь в первом выпадающем списке в Object Browser библиотеку и жмёшь кнопку со знаком вопроса или F1. Попадаешь на страницу с идентификатором Project Help Context ID. Он не обязан совпадать с каким-либо контекстным идентификатором функции. Выбираешь в списке членов класса определённый метод (или ставишь курсор в коде), жмёшь F1 - попадаешь на страницу, на которую указывает контекстный идентификатор функции. kefi- а как можно будет распространять сделанный Help к моей DLL? Если DLL можно просто зарегестрировать в системе у полььзователя, то как установить там созданный chm хелп, чтобы он был доступен по F1?Официальная точка зрения такая: Distributing Help with Your Application , а неофициальная такая: клади .chm в один каталог с .dll (при разработке и при инсталляции), в свойствах проекта указывай ИмяФайла.chm без пути. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2008, 16:35 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
Еще понятнее, спасибо. Вот только нет ли какой утилитки, чтобы пробежала по всем *.bas,*.cls файлам указанного мной каталога(ов) и расставила бы сама во всех процедурах ContextID, а то вручную несколько сотен функций слишком хлопотно маркировать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2008, 18:28 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
kefi, не видел. Наверное, это add-in какой-то надо искать или писать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2008, 18:56 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
Еще обнаружилась непонятка - как назначить ContextID классу,чтобы описать класс в общем, ведь в Tools есть только Procedure Attributes, но не Class Attributes? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2008, 18:59 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
kefi, да, не совсем понятно, где эта возможность есть в стандартном IDE. Если редакция VB позволяет, то в Add-In Manager можно подключить VB 6 Class Builder Utility, там в свойствах класса можно задать этот атрибут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2008, 19:18 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
"Бенедикт" сообщил/сообщила в новостях следующее: > Автор: Бенедикт > kefi, > да, не совсем понятно, где эта возможность есть в стандартном IDE. > Если редакция VB позволяет, то в Add-In Manager можно подключить VB 6 > Class Builder Utility, там в свойствах класса можно задать этот атрибут. А для класса открыть модуль класса в блокноте и руками дописать следующую строку: .... Attribute VB_HelpID = 3 .... Option Explicit Вместо 3 поставить свой идентификатор раздела справки Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2008, 14:16 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
Игорь Горбонос, да руками-то понятно. О! Нашёл в IDE. В Object Browser выбрать класс, и в контекстном меню выбрать Properties... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2008, 14:26 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
БенедиктДа. Написание и поддержка документации дело нудное и затратное. Чей-то больно много труда получается! Все же мечты об электровенике не покидают меня : Коль речь идет об описании программистских процедур , то часто , как правило, уже в самом их коде описан, хотя бы простенько, интерфейс их вызова (цель, смысл параметров etc), необходимый для пользования самому программисту, у меня, например, всегда так, кроме очевидных процедур в 5-10 строк. А для Help'а именно это и требуется. Так нельзя ли органично совместить программирование и создание CHM help'a ? Т.е. Неужели нет в природе утилиты, которая бы обрабатывала бы исходники, вытаскивала оттуда описание интерфейсов и готовила бы набор файлов для генерации CHM (ну наподлобие того, как это делает javadoc) ? или никто не в курсе такой автоматизации ? А может есть какие альтернативы CHM help'у с более гуманным отношением к разработчику ? Я вот до сих пор не понимаю - почему в CHM helpe' запрещено редактирование статей в самом вьювере хелпа, почему-бы некоторым пользователям, например, разработчикам, было бы не разрешить это через пароль ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2008, 20:56 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
> Автор: kefi > Бенедикт > Да. Написание и поддержка документации дело нудное и затратное. > > Чей-то больно много труда получается! > Все же мечты об электровенике не покидают меня : :) > > Коль речь идет об описании программистских процедур , то часто , как > правило, уже в самом их коде описан, хотя бы простенько, интерфейс их > вызова (цель, смысл параметров etc), необходимый для пользования самому > программисту, у меня, например, всегда так, кроме очевидных процедур в > 5-10 строк. > А для Help'а именно это и требуется. > Так нельзя ли органично совместить программирование и создание CHM > help'a ? > Т.е. Неужели нет в природе утилиты, которая бы обрабатывала бы > исходники, вытаскивала оттуда описание интерфейсов и готовила бы набор > файлов для генерации CHM (ну наподлобие того, как это делает javadoc) ? > или никто не в курсе такой автоматизации ? Поспрошай на rsdn.ru, там были обсуждения таких приблуд, правда, как ты понимаешь, для С++. :) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2008, 10:48 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
kefiЧей-то больно много труда получается! Все же мечты об электровенике не покидают меня : Коль речь идет об описании программистских процедур , то часто , как правило, уже в самом их коде описан, хотя бы простенько, интерфейс их вызова (цель, смысл параметров etc), необходимый для пользования самому программисту, у меня, например, всегда так, кроме очевидных процедур в 5-10 строк. А для Help'а именно это и требуется. Так нельзя ли органично совместить программирование и создание CHM help'a ? Т.е. Неужели нет в природе утилиты, которая бы обрабатывала бы исходники, вытаскивала оттуда описание интерфейсов и готовила бы набор файлов для генерации CHM (ну наподлобие того, как это делает javadoc) ? или никто не в курсе такой автоматизации ?Помнится, времена Windows 3.0 попадался C-шный микрософтовский код, где процедуры содержали описания и теги, явно предназначенные для обработки какой-то программой автоматического формирования справочной системы. Думаю, уже тогда идея была сильно не нова. Просто я не интересовался и не знаю аналогичной системы для VB/VBA. Вполне возможно, что у контор, делающих адд-ины, тулзы и т.п. были такие продукты. kefiА может есть какие альтернативы CHM help'у с более гуманным отношением к разработчику ? Я вот до сих пор не понимаю - почему в CHM helpe' запрещено редактирование статей в самом вьювере хелпа, почему-бы некоторым пользователям, например, разработчикам, было бы не разрешить это через пароль ?Да, в .hlp была удобная возможность написать свой комментарий к статье. Я почти ничего не смыслю в web-разработке, но думаю, можно написать интегрированную в .chm группу скриптов, которая умела бы создавать, сохранять вводимые тексты во внешнем по отношению к .chm хранилище, и показывать их. Поспрашивай на соответствующих форумах. Если будут результаты, кинь ссылки сюда, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2008, 16:10 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
БенедиктДумаю, уже тогда идея была сильно не нова Еще бы! потому-то и удивительно, что ничего нет. А может, просто VB уже никому не нужен? Впрочем и ,как я думаю, и в .NET та же картина - создать HELP проблема, в то время как ничего не мешает сделать это оргиничным и удобным делом. Бенедиктдумаю, можно написать интегрированную в .chm группу скриптов, которая умела бы создавать, сохранять вводимые тексты во внешнем по отношению к .chm хранилище, и показывать их. Так отдельно - то наверняка можно скриптами, их же MsIE обрабатывает, но это будет файловая свалка , отдельными файлами - некрасиво. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2008, 14:22 |
|
||
|
Как сделать интегрированный для MsOffice Help к моей myvb.DLL ?
|
|||
|---|---|---|---|
|
#18+
kefiТак отдельно - то наверняка можно скриптами, их же MsIE обрабатывает, но это будет файловая свалка , отдельными файлами - некрасиво.Почему во множественном числе, "файлами"? Можно хранить в одном. ЕМНИП, в .hlp так и было. Вот сегодня мелькнуло на rsdn: VBDOX , но "масса глюков". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2008, 17:59 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=35185215&tid=2162526]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 307ms |

| 0 / 0 |
