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

Форум: MS ACCESS

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

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

 
 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Функция Shell
 
 автор: Кабан   (03.02.2009 в 18:46)   личное сообщение
 
   to: osmor   (02.02.2009 в 17:51)
 

можэ через 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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