|
как избежать сообщений компилятора VBA?
|
|||
---|---|---|---|
#18+
Доброго времени суток, почтенные форумчане! Я пытаюсь разобраться со следующей ситуацией... Итак, в форме есть код, который производит печать выбранного листа в PDF посредством библиотек установленного на компьютере PDFCreator`а. Для того, чтобы код функционировал нормально, необходим установленный в системе принтер PDFCreator. В проекте я включаю ссылку на его библиотеку. В форме объявляю событие готовности/неготовности принтера к печати и т.п. Собственно, когда все компоненты на моем компе присутствуют, код работает чисто. Но, когда я тестирую код на другом компе, где нет установленного PDFCreator`а, компилятор сразу же ругается на строку, описывающую событие несуществующего принтера. Как-то так. Вопрос- а можно ли как-то обойти эту неприятную ситуацию? Я вижу это так: 1.После запуска кода проверить наличие библиотеки PDF- принтера в Refrences. Если библиотека обнаружена, каким-то образом создать нужное событие. Возможно ли это? 2. Если библиотека не обнаружена, флажком деактивировать часть кода по работе с принтером. Как же быть с событиями несуществующих компонентов? Компилятор VBA сразу ругается. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2014, 23:58 |
|
как избежать сообщений компилятора VBA?
|
|||
---|---|---|---|
#18+
Используйте позднее связывание, т.е. вместо Код: vbnet 1.
пишите Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2014, 00:23 |
|
как избежать сообщений компилятора VBA?
|
|||
---|---|---|---|
#18+
С событиями, правда, облом - т.е. можно, но сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2014, 00:29 |
|
как избежать сообщений компилятора VBA?
|
|||
---|---|---|---|
#18+
КазанскийИспользуйте позднее связывание, т.е. вместо Код: vbnet 1.
пишите Код: vbnet 1. 2. 3. 4. 5.
Спасибо за ответ! Собственно, проблема то не в определении наличия компонента и исключения выполнения "ошибочного " кода, а в событиях... )). Возможно ли программно создать строчку события в области объявления на уровне формы через средства IDE? Предположим, я создаю программно скрытую форму, в которой программно же создаю код обработки событий принтера и код работы с принтером. И после этого могу работать с принтером? Теоретически вроде должно получиться, а вот практически- можно ли таким образом, в реальном времени в процессе выполнения программы, объявить событие или произойдет ошибка? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2014, 00:53 |
|
как избежать сообщений компилятора VBA?
|
|||
---|---|---|---|
#18+
Попутно возник вопрос от дилетанта. Ясно, он не раз обсуждался на форуме, но все-же... Я так понимаю, всегда, когда ты не знаешь наверняка, будет ли доступен необходимый компонент на "чужом" компе, необходимо применять позднее связывание по методу указанному выше? Я применил код, который проверяет коллекцию Reference на наличие нужных мне компонентов, и соответственно, блокирую флажками те части кода, которые невозможно применить при отсутствии соотв. компонентов. Но я везде применял раннее связывание, а это, наверное, в таких случаях не есть гуд?) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2014, 00:59 |
|
как избежать сообщений компилятора VBA?
|
|||
---|---|---|---|
#18+
Игорь_777всегда, когда ты не знаешь наверняка, будет ли доступен необходимый компонент на "чужом" компе, необходимо применять позднее связывание Сами ответили, можно и по другому. Но обычно примененяют позднее связывание. Ещё один плюс можно подключить разные версии компонентов одним кодом, в отличии раннего. Но есть и недостаток ввиде снижении быстродействия. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2014, 12:22 |
|
|
start [/forum/topic.php?fid=60&fpage=45&tid=2156440]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 122ms |
0 / 0 |