| 
 | 
| 
 
как избежать сообщений компилятора 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&gotonew=1&tid=2156440]:  | 
    0ms | 
get settings:  | 
    8ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    42ms | 
get topic data:  | 
    11ms | 
get first new msg:  | 
    12ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    40ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 7ms | 
| total: | 145ms | 

| 0 / 0 | 
