Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Vladimir Vladimirovich ([info]moss)
@ 2010-11-06 17:32:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Редким программерам, читающим сей журнал
Значит, так. Работал я раньше под Windows XP на MS Excel 2003 + MS Visual Studio.Net 2003. На С++ написал DLL, к которой обращался VBA код из Экселя (XLS файла). Всё работало. Когда мне нужно было отладить С++ код, я создавал дебаг-версию DLL, ставил там в нужном месте int 3 или debugbreak и запускал тем или иным образом recalculation на Экселе. Тот стопорился и спрашивал - отлаживать? Да. - Где? На Вижуал Студии. И он отправлялся прямиком на брейк.

И вот на днях мне заменили старый офисный десктоп на новый ноутбук. Там Windows 7, где я записан как администратор, Visual Studio 2005 и Оффис 2007. Запускаю Студию как админ, перекомпилирую DLL, регистрируется успешно. Запускаю Excel 2007 как админ же, он конвертит старый XLS под себя. Рекалькулирую - работает, DLL в референсах сидит и данные считает. Теперь хочу отладить. Закрываю Эксель, ставлю в C++ коде debugbreak, рекомпилирую-перерегистрирую, открываю XLS, запускаю макросы, Эксель начинает пересчитывать и виснет, сволочь! Не хочет отдавать контроль Вижуал Студии! Говорит, перестал работать, пытается закрыть-сохранить-перезапуститься, а мне это нафиг не нужно, нужно чтобы ушел на брейк!

Сохраняю XLS под новым Экселем как XLSM (с макрами), запускаю - та же картина.

Съездил на работу, системщики установили мне старый Excel 2003 и включили в Debugger Users, наряду с уже имеющимися Administrators. Запускаю тот же файл, Эксель затыкается и выдает долгожданную кнопку Debug. Жму на нее - фиг. Эксель исчезает.

В общем, вопрос к программистской публике: может, кто-то с налету знает как это починить? В интернете по сходным поводам дают кучи советов, первые 5 ни к чему не привели, боюсь потратить зря время. Есть ли какие-то форумы, где такого рода вопрос можно провентилировать?

UPDATE: кажется, удалось починить. Большущее спасибо, [info]scau@lj!


(Добавить комментарий)


[info]nice_beaver@lj
2010-11-06 18:35 (ссылка)
Да! Я редкий программист! По существу сказать ничего не имею.

(Ответить) (Ветвь дискуссии)


[info]_moss@lj
2010-11-06 18:36 (ссылка)
Вот. Хорошо ли это.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]nice_beaver@lj
2010-11-06 19:07 (ссылка)
Visual is too Basic for me

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]_moss@lj
2010-11-06 19:10 (ссылка)
Да-да, сербский военный преступник Basič.

Меж тем, в соседнем треде мне, кажется, любезно помогли. Вот что жеже животворящий делает!

(Ответить) (Уровень выше)


[info]scau@lj
2010-11-06 18:58 (ссылка)
А если попробовать сделать Attach to Process (в вижуал студии в меню Debug), выбрать процесс Экселя, и повторить всю процедуру?

(Ответить) (Ветвь дискуссии)


[info]_moss@lj
2010-11-06 18:59 (ссылка)
Вау! Кажется, заработало, спасибо огроменное!

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]scau@lj
2010-11-06 19:13 (ссылка)
Рад помочь :)

(Ответить) (Уровень выше)


[info]sutasu@lj
2010-11-06 19:12 (ссылка)
если совсем не решается, я бы обильным логгированием бы обвесил модуль, и потом читал бы лог.
По существу - может явно какие-то права в Винде7 доназначить можно? Дебаг там, или еще что... и это, в настройках Безопасноти Ёкселя там все разрешено по самое не могу? Иногда из-за этого затыки бывают.

(Ответить) (Ветвь дискуссии)


[info]_moss@lj
2010-11-06 19:15 (ссылка)
Выше, кажется, помог добрый человек - контроль перехвачен :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sutasu@lj
2010-11-06 19:16 (ссылка)
ну просто на будущее, рекомендую настройки безопасности посмотреть. Они там по дефолту параноидальные абсолютно(

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]_moss@lj
2010-11-06 19:17 (ссылка)
Да, и так приходится везде менять опцию на Run As Admin.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sutasu@lj
2010-11-06 19:18 (ссылка)
этого мало))

(Ответить) (Уровень выше)


[info]sutasu@lj
2010-11-06 19:14 (ссылка)
Я VSTO юзал в свое время для работы с екселем. Ох, глюков наелся...

(Ответить) (Ветвь дискуссии)


[info]_moss@lj
2010-11-06 19:14 (ссылка)
Вообще я так понял, что специалист по Экселю - это прежде всего специалист по его глюкам :)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sutasu@lj
2010-11-06 19:16 (ссылка)
о да! )))

(Ответить) (Уровень выше)


[info]ny_quant@lj
2010-11-26 23:59 (ссылка)
и по шорткатам

(Ответить) (Уровень выше)


[info]burrru@lj
2010-11-07 06:30 (ссылка)
Мне удобно запускать нужную аппликацию прямо из Visual. (В особенности - с другого компьютера.) В этом случае не нужно компилировать с debugbreak, а можно ставить, breakpoints где угодно.

(Ответить) (Ветвь дискуссии)


[info]_moss@lj
2010-11-07 12:00 (ссылка)
Да, спасибо, буду пробовать.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ny_quant@lj
2010-11-27 00:02 (ссылка)
Это мой основной способ. Записываешь Excel как start-up application и нажимаешь F5. Excel стартует уже прицепленный к студии.

(Ответить) (Уровень выше)