Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / запустить бд access и дождаться ее завершения. / 12 сообщений из 12, страница 1 из 1
06.07.2014, 23:16
    #38689002
alanez
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить бд access и дождаться ее завершения.
из того что нагуглил и использовал:
1. CreateProcess + WaitForSingleObject - позволяет запустить процесс и дождаться его выполнения. Здесь не ясно как запустить базу Accessa, т.к. CreateProcess создает процессы только для _запускаемых_ файлов .
2. С помощью ShellExecute(NULL, NULL, TEXT("C:\\Job\\base.accdb"), NULL, NULL, SW_SHOWNORMAL) - запускаем базу - но недожидаемся окончания ее работы.

А надо бы запустить БД и дождаться завершения ее работы.
...
Рейтинг: 0 / 0
06.07.2014, 23:32
    #38689008
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить бд access и дождаться ее завершения.
alanez, если "завершением работы" является фиксация какой-то транзакции то нужно просто
это проверить.
...
Рейтинг: 0 / 0
06.07.2014, 23:46
    #38689013
alanez
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить бд access и дождаться ее завершения.
mayton,
нет, нужно дождаться пока ассеss не будет закрыт
...
Рейтинг: 0 / 0
07.07.2014, 01:04
    #38689028
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить бд access и дождаться ее завершения.
В ShellExecuteEx вроде-бы есть возможность получить PID процесса.
...
Рейтинг: 0 / 0
07.07.2014, 10:12
    #38689130
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить бд access и дождаться ее завершения.
кто мешает через CreateProcess запустить msaccess.exe , а имя базы передать параметром?
...
Рейтинг: 0 / 0
07.07.2014, 22:54
    #38689864
alanez
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить бд access и дождаться ее завершения.
Изопропил,
можно пример ?
...
Рейтинг: 0 / 0
07.07.2014, 23:26
    #38689884
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить бд access и дождаться ее завершения.
...
Рейтинг: 0 / 0
09.07.2014, 01:09
    #38691277
alanez
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить бд access и дождаться ее завершения.
Передаю в качестве параметра имя базы:
CreateProcess(TEXT("C:\\Program Files (x86)\\Microsoft Office\\Office14\\MSACCESS.EXE"),
TEXT ("C:\\Job\\MS.accdb"),
NULL,NULL,FALSE,NULL,NULL,NULL,&cif,&pi)
База не запускается - что не так делаю?
...
Рейтинг: 0 / 0
09.07.2014, 02:08
    #38691292
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить бд access и дождаться ее завершения.
alanez, брат. В документации по CreateProcess написано
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Note that the function returns before the process has finished initialization. If a required DLL cannot be located or fails to initialize, the process is terminated. To get the termination status of a process, call GetExitCodeProcess.
...
Рейтинг: 0 / 0
09.07.2014, 11:14
    #38691607
alanez
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить бд access и дождаться ее завершения.
mayton,

CreateProcess выполняется без ошибок, но запускается только access без БД
...
Рейтинг: 0 / 0
09.07.2014, 12:01
    #38691704
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить бд access и дождаться ее завершения.
alanezmayton,

CreateProcess выполняется без ошибок, но запускается только access без БД
внимательно читайте описание CreateProcess - описание второго параметра

напишите TEXT ("msaccess.exe C:\\Job\\MS.accdb") - и будет счастье
...
Рейтинг: 0 / 0
09.07.2014, 12:15
    #38691732
alanez
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запустить бд access и дождаться ее завершения.
Изопропил,
спасибо, заработало!)
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / запустить бд access и дождаться ее завершения. / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]