Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Функция Shell
 
 автор: Прохожий   (02.02.2009 в 15:23)   личное сообщение
 
 

???
В конструкции RetVal=Shell("База.mdb") получение кода RetVal означает, что приложение уже успешно загружено ???
На него уже можно ссылаться по, например, Set obj=GetObject("База.mdb") ???
и выполнять команды, например, obj.DoCmd.OpenForm ... ???
Или же получение кода RetVal означает лишь начало успешной загрузки
и необходимость дождаться окончания этой загрузки, прежде чем начать
исполнять последующий код ???

  Ответить  
 
 автор: osmor   (02.02.2009 в 17:51)   личное сообщение
 
 

необходимо дождаться

  Ответить  
 
 автор: Прохожий   (02.02.2009 в 17:59)   личное сообщение
 
 

И как корректно определить момент окончания ожидания ?

  Ответить  
 
 автор: Анатолий (Киев)   (02.02.2009 в 18:10)   личное сообщение
 
 

ИМХО, никак.
Я в таком случае после GetObject выполняю 1-2 вызова DoEvents. Обычно этого достаточно.

А ваше RetVal=Shell("База.mdb") срабатывает? У меня без указания пути к MSAccess.exe не работает.
Кстати, GetObject("Путь к БД") обращается к открытой ранее БД или открывает ее в новом окне.
В вашем случае (если не используются другие ключи командной строки) применение Shell - избыточно.

  Ответить  
 
 автор: Прохожий   (02.02.2009 в 18:17)   личное сообщение
 
 

Пример чистая иллюстрация, не воспринимайте буквально.

Увы. Это не избыточность, а попытка обойти глюк Runtime: сбоит он при создании объекта типа Access.Aplication

А по поводу "никак": может как то через WINAPI ?
Кто то, когда то мог сталкиваться с подобной ситуаций и возможно находил решение
или хотя бы намек на него...

Просто установить фиксированную задержку решение очевидное, но не красивое.
Уж лучше тогда все построить на обработке ошибки создания Access.Aplication ...

  Ответить  
 
 автор: Кабан   (03.02.2009 в 18:46)   личное сообщение
 
 

можэ через CreateProcess?
http://hiprog.com/index.php?option=com_content&task=view&id=326&Itemid=35
и вот еще че нашел
http://hiprog.com/index.php?option=com_content&task=view&id=83&Itemid=35

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList