Список форумов Конференция САПР Bentley MicroStation Конференция САПР Bentley MicroStation
www.ustation.ru
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Помогите консультативно

 
Начать новую тему   Ответить на тему    Список форумов Конференция САПР Bentley MicroStation -> Прикладное
Предыдущая тема :: Следующая тема  
Автор Сообщение
Ихъ бин программикеер



Зарегистрирован: 11.10.2006
Сообщения: 11
Откуда: Тюмень

СообщениеДобавлено: Ср Окт 11, 2006 1:02 pm    Заголовок сообщения: Помогите консультативно Ответить с цитатой

Подскажите, если не трудно:

1) Как прикручен к MS Visual Basic for Applications (VBA) к MicroStation - запустил я его ч/з "Утилиты/Макрос/Редактор VB" - и что?... Как-то через кнопки панелей инструментов или пункты меню можно вызывать функции, написанные в макросе? Привязывается ли макрос к редактируемому файлу (как, к примеру, к документу Word`а) или работает только общая библиотека макросов?

2) Какая разница между "Утилиты/Макрос/Редактор VB" и "Утилиты/Макрос/Microstation BASIC"? Только место хранения макроса и среда его разработки или что-то еще?

3) Есть ли возможность вставлять "хуки" на события интерфейса, в VBA?

4) Я сгенерировал собственную панель инструментов. Насколько я мог заметить, у каждой "родной" панели инструментов есть некое внутреннее имя, по которому можно осуществить "вкл/выкл" (toggle) этой панели. Как осуществить аналогичную операцию для собственной панели (я не могу найти ее имени)?
_________________
Ошибка - она всегда в ДНК, вопрос только - в чьей...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ихъ бин программикеер



Зарегистрирован: 11.10.2006
Сообщения: 11
Откуда: Тюмень

СообщениеДобавлено: Ср Окт 11, 2006 1:39 pm    Заголовок сообщения: Ответить с цитатой

кажется, на вопрос №2 ответ имеется - это вещи разные, одна из них - разработка Bentley, а другая - стандартная фича от Microsoft.... я прав?
_________________
Ошибка - она всегда в ДНК, вопрос только - в чьей...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ихъ бин программикеер



Зарегистрирован: 11.10.2006
Сообщения: 11
Откуда: Тюмень

СообщениеДобавлено: Ср Окт 11, 2006 2:10 pm    Заголовок сообщения: Ответить с цитатой

Так... на 1-й вопрос я, кажется, тоже практически могу ответить - VBA туда прикручен по госту, как и во всех остальных приложениях Smile
_________________
Ошибка - она всегда в ДНК, вопрос только - в чьей...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ихъ бин программикеер



Зарегистрирован: 11.10.2006
Сообщения: 11
Откуда: Тюмень

СообщениеДобавлено: Ср Окт 11, 2006 2:17 pm    Заголовок сообщения: Ответить с цитатой

Кто бы мне теперь сказал, можно ли и как на открытие/зактрытие, к примеру, файла хуки приделывать...

И еще один вопрос вдогонку - а как хранить информацию? Т.е. хочу я, к примеру, сделать инструментальную панельку с набором вроде как утилит, решающих одну общую задачу. И надобно мне, чтобы при окончании работы любой из функций сохранялась некая (допустим, статусная - о текущем состоянии работы) информация в памяти приложения. Т.е. нажал на кнпку 1 - в переменную записалось "1", на 2 - "2" и т.д.. Как это реализовать, не записывая всякую ерунду во временные файлы?
_________________
Ошибка - она всегда в ДНК, вопрос только - в чьей...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Ихъ бин программикеер



Зарегистрирован: 11.10.2006
Сообщения: 11
Откуда: Тюмень

СообщениеДобавлено: Чт Окт 12, 2006 7:22 am    Заголовок сообщения: Ответить с цитатой

И все-таки она вертится Smile ! Примеры надо делать дословно, несмотря на всю их кажущуюся абсурдность они иногда имеют свойство работать Smile Итак, как делается реакция на закрытие/открытие (если кому-то интересно):

Объявляем класс, допустим, Class1 и пишем в нем:

Код:
Dim WithEvents hooks As Application

Private Sub Class_Initialize()
    Set hooks = Application
End Sub

Private Sub hooks_OnDesignFileClosed(ByVal DesignFileName As String)
    MsgBox ("Closed design file " & DesignFileName)
End Sub

Private Sub hooks_OnDesignFileOpened(ByVal DesignFileName As String)
    MsgBox ("Opened design file " & DesignFileName)
End Sub


Далее, в любом модуле (допустим, Module1) добавляем такой код:

Код:
Dim oOpenClose As Class1

Sub SetupHooks()
    Set oOpenClose = New Class1
End Sub


Теперь, если вызвать функцию SetupHooks, заработают соответствующие события.

Если честно, не понимаю, почему именно "hooks_OnDesignFileOpened" и "hooks_OnDesignFileClosed" отвечают за эти события вместо, к примеру, "OnDesignFileOpened" и "OnDesignFileClosed" соответственно, как написано в доках Don't know... Хорошо - пример есть, так бы ни в жисть не догадался...

Остался вопрос с хранением информации, но, раз события хранятся, возможно, хранятся и другие переменные.

PS интересная штука - самому с собой поговорить Smile
_________________
Ошибка - она всегда в ДНК, вопрос только - в чьей...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dmitriy



Зарегистрирован: 26.07.2006
Сообщения: 14
Откуда: Тюмень

СообщениеДобавлено: Чт Окт 12, 2006 7:28 am    Заголовок сообщения: Ответить с цитатой

Как много текста за еденицу времени... Практически разговор самого с собой выложеный в форум... Very Happy
Пиши мне на почту пообщаемся.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Ихъ бин программикеер



Зарегистрирован: 11.10.2006
Сообщения: 11
Откуда: Тюмень

СообщениеДобавлено: Чт Окт 12, 2006 8:49 am    Заголовок сообщения: Ответить с цитатой

Ага, я тоже заметил, что тихо. Либо MS абсолютно непопулярен, либо у сего продукта сейчас первая рыночная фаза в России.

PS я кинул тебе свой e-mail
_________________
Ошибка - она всегда в ДНК, вопрос только - в чьей...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Leonid
давно здесь сидим


Зарегистрирован: 28.01.2006
Сообщения: 598
Откуда: С.-Петербург

СообщениеДобавлено: Пт Окт 13, 2006 10:59 am    Заголовок сообщения: Ответить с цитатой

программикееру:
Хелп по VBA лежит здесь
(MS)\Program\MicroStation\MicroStationVBA.chm
В целом он мало чем отличается от VBA для других приложений

на всякий случай на будущее:
вероятность ответа в теме стремится к единице, поделенной на количество вопросов в ней Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
ВалВл



Зарегистрирован: 08.02.2006
Сообщения: 138

СообщениеДобавлено: Пт Окт 13, 2006 2:21 pm    Заголовок сообщения: Ответить с цитатой

Популярность MS определяется не программистами, а пользователями.
Кузнец один, а плотников сколько?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Конференция САПР Bentley MicroStation -> Прикладное Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group