Макрос для подключения MSDN .NET к Visual C++ 6.0
От: Соловьев Игорь Украина  
Дата: 05.11.02 07:17
Оценка: 215 (4)
Статья:
Макрос для подключения MSDN .NET к Visual C++ 6.0
Автор(ы): Соловьев Игорь
Дата: 05.11.2002


Авторы:
Соловьев Игорь

Аннотация:
Выпустив Visual Studio .NET компания Microsoft стала распространять MSDN в новой, более удобной и «продвинутой» оболочке, называемой Microsoft Document Explorer. К сожалению, Microsoft почему-то «забыла» предложить приемлемый способ использования новых редакций MSDN в старой доброй IDE от Visual C++ 6.0. Вместо этого в официальной документации декларируется попросту несовместимость новых версий MSDN с инструментальными средами старых версий. Необходимость же частого и оперативного использования подобной связки, возможно, возникла не только у автора этих строк. Но все ли так безнадежно? Публикуемый макрос призван частично ликвидировать вынужденные неудобства пользователей MS VC 6.0, заставив послужить ещё технологию COM на благо разработчиков, не торопящихся перейти к использованию последней версии Visual C++, но нуждающихся в самой свежей справочной информации.
А зачем?
От: CaHeK Россия  
Дата: 13.01.03 20:45
Оценка:
А почему бы не поставить саму VS 7.0? Ведь она гораздо удобнее, чем предыдущая имхо... Я вот больше не буду шестую ставить. Не вижу ни одной причины, чтобы оставаться в ней.
Great Idea
От: Armen Hakobyan Армения  
Дата: 09.12.02 15:51
Оценка:
Really actual, thanks
Спасибо
От: Andrij Украина  
Дата: 09.11.02 11:24
Оценка:
Прекрасно работает, долго страдал от етой несправедливости — ты меня спас, думаю и не только меня.
make it simple as possible, but not simpler
Не работает
От: mSerg Украина  
Дата: 08.11.02 11:35
Оценка:
У меня выдает ошибку "ActiveX component can't create object 'DExplore.AppObj'".
Смотрел в реестре — есть этот объект. В чем же грабли?
WBR, Serg Matskov
Thanks
От: null  
Дата: 07.11.02 14:17
Оценка:
Большое спасибо! Очень своевременно.
это баг?
От: ioni Россия  
Дата: 06.11.02 09:23
Оценка:
у меня сентябрьский msdn
и страницу открывает каждый раз новую
Рулез.
От: Lexey Россия  
Дата: 06.11.02 09:06
Оценка:
Действительно классный макрос.
re
От: Евгений Коробко  
Дата: 06.11.02 07:17
Оценка:
Это действительно работает! Огромное спасибо автору!
Евгений Коробко
Re: А зачем?
От: Михаил Плискин  
Дата: 04.02.03 13:28
Оценка:
Ну, например, компиляторы C++ в них существенно различаются и несовместимы. Соответственно, параллельное использование обоих либо невозможно, либо требует существенных усилий. А оно надо?
Re: А зачем?
От: Vampire Россия  
Дата: 04.02.03 11:02
Оценка:
Под VC7.0 не работает Intel Compiler 5.0 (он только под VC6), а нужен бывает — жуть.
Так что VC6 пока очень даже нужен. К тому-же в компаниях где софт только лицензионный — никто персонально для тебя VC7.0 покупать не будет ;-)
Если долго мучиться что нибудь получится
Re: Не работает
От: siv Украина  
Дата: 10.11.02 21:38
Оценка:
Попробуй сделать файл test.vbs, а в нем одну строку:
Set HelpApp = CreateObject("DExplore.AppObj")
Запусти. Ругается?
Если да, а я почти уверен, что да;-), то нужно разбираться с твоей системой.
Возможно какой-то антивирус блокирует подобные вещи. Или Windows Host Scripting криво стоит. Или MSDN новый неудачно происталлирован, тот же DExplore...
Re: это баг?
От: siv Украина  
Дата: 06.11.02 22:38
Оценка:
Признаюсь. Я Basic не люблю и знаю весьма поверхностно.
И если бы он ни был языком макросов VC, то и знать не хотел бы;-)
В Вашем случае, похоже, не срабатывает проверка
if IsEmpty(HelpApp) Then

Попробуйте поэкспериментировать:
dim bWasHelpApp
bWasHelpApp = false
.............
'вместо этого: if IsEmpty(HelpApp) Then
if bWasHelpApp = false Then
bWasHelpApp = true
Re: это баг?
От: aver  
Дата: 18.11.02 18:54
Оценка:
Вместо строки макроса
<quote>
HelpApp.SetCollection "ms-help://MS.VSCC", "Visual C++ and Related"
</quote>
вставьте
<quote>
HelpApp.SetCollection "ms-help://MS.MSDNQTR.2002OCT.1033", "Visual C++ and Related"
</quote>
Re: Не работает
От: Saddam Россия http://saddam.narod.ru
Дата: 18.11.02 08:28
Оценка:
Какой Service Pack стотит у кого? Вроде это лечится установкой SP.
Вот что пишут в MSDN по этому поводу:
FIX: VBScript Does Not Permit CreateObject or GetObject
ID: Q194843
--------------------------------------------------------------------------------
The information in this article applies to:
Microsoft Visual Studio versions 6.0, 97
Microsoft Visual J++, versions 1.0, 1.1
Microsoft Visual InterDev, version 1.0
Microsoft Visual C++, 32-bit Editions, versions 5.0, 6.0
--------------------------------------------------------------------------------
SYMPTOMS
VBScript displays the following error in the Developer Studio shell when you attempt to access the CreateObject or GetObject functions:

Line #: ActiveX component can't create object 'CreateObject'
However, calls to these functions sometimes succeed in certain software configurations.



STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.

This bug was corrected in Visual Studio 6.0 Service Pack 3. For more information about Visual Studio service packs, please see the following articles in the Microsoft Knowledge Base:

Q194022 INFO: Visual Studio 6.0 Service Packs, What, Where, Why

Q194295 HOWTO: Tell That Visual Studio 6.0 Service Packs Are Installed



MORE INFORMATION
The Automation Issues topic for the Microsoft Developer Studio environment in the Visual Studio 97 Environment Readme states that some VBScript objects and procedures are not supported from VBScript macros. Among the examples of unsupported constructs, it lists the CreateObject and the GetObject functions. For additional information, please see the following articles in the Microsoft Knowledge Base:

Q165791 INFO: Visual Studio 97 Environment Readme

Q191200 Update Available for Window.External JScript Security Issue

Some users created macros using these functions, which executed successfully on certain software configurations, but failed on others. The fix in Service Pack 3 allows these functions to operate successfully, governed by the security settings of the object they specify.
- Вы знаете — жаль, просто по-человечески жаль Памелу Андерсон, которая никогда не сможет сыграть на баяне...
Re: Не работает
От: Saddam Россия http://saddam.narod.ru
Дата: 18.11.02 07:58
Оценка:
Тоже XP, аналогичная проблема. В VB все Ok.
Может проблема в XP?
- Вы знаете — жаль, просто по-человечески жаль Памелу Андерсон, которая никогда не сможет сыграть на баяне...
Re: Не работает
От: AlexeiU  
Дата: 11.11.02 14:00
Оценка:
Аналогичная ситуация (не понимает CreateObject в скрипте VS, даже с "Word.Application"). При этом в Visual Basic все работает на ура =)
(Антивирус запрещал. ОС — Windows XP, Visual Studio обычная, 6-я...)
Re: Не работает
От: AlexeiU  
Дата: 18.11.02 15:39
Оценка:
Да, похоже дело было в SP. По крайней мере SP5 эту проблему мне решил.
Спасибо, а то, хотя и были мысли об этом, но было очень лениво проверять... =)

А ведь и правда, во времена выхода оригинальной 6-й студии такой серьезный баг мог пройти незамеченным.

______________________________________________________
Ставьте SPs, господа!
Re: Макрос для подключения MSDN .NET к Visual C++ 6.0
От: Аноним  
Дата: 09.03.04 07:59
Оценка: 1 (1)
Здравствуйте, Соловьев Игорь!

Я скачал и установил на своей машине Ваш макрос RunMSDNdotNET.
Макрос работает, но выдает MessageBox с сообщением, что не найдена
коллекция.
Вы разработали свой макрос для MSDN January 2002, а у меня установлен MSDN
January 2004.
Поэтому пришлось подправить исходный текст, теперь оператор назначения
коллекции такой:
HelpApp.SetCollection "ms-help://MS.VSCC.2003", "Visual C++ and Related"
Теперь все работает без ошибок.
Предлагаю включить мое исправление в версию 1.1 Вашей статьи
"Макрос для подключения MSDN .NET к Visual C++ 6.0"
Спасибо Вам за отличную идею.
Желаю успехов!

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