Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Старт программы из Сервиса [D6, Win2k]


S@shka ©   (2007-09-07 15:07:00) 

Структура следующая
Программа запускается обращается к Com (InProc)-серверу
Сервер осуществяляет подключение к БД через ODBC

Просто все работает.
Работает если запускаю из другого приложения по
ExecCommand ('C:\Dir1\program.exe')
где
function xxx.ExecCommand (const Command : String) : Cardinal;
var
si: STARTUPINFO;
pi: PROCESS_INFORMATION;
wDir : String;
begin
WDir := ExtractFilePath (Command);
ZeroMemory(@si,sizeof(si));
si.cb:=sizeOf(si);
si.dwFlags := STARTF_USESHOWWINDOW;
si.wShowWindow := SW_NORMAL;
CreateProcess( PChar(Command), nil, nil, nil, False, CREATE_NEW_PROCESS_GROUP and NORMAL_PRIORITY_CLASS , nil,  PChar(wDir), si, pi);
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
end;

Но если тот же вызов (тем же способом) помещаю в Сервис (фактически предназначенный просто для автозапуска указанный приложений)
Приложение запускается, но получаю ошибку ODBC драйвера:
"... Data source name not found and no default driver specified"

Хм.. где засада?


S@shka   (2007-09-14 11:11:00) [1]


> DSN - system или user?


Спасиб )


S@shka   (2007-09-14 11:10:00) [2]

User ((
Видимо для сервисов должен быть System )


clickmaker   (2007-09-14 10:56:00) [3]


> [5] S@shka ©   (14.09.07 10:47)

DSN - system или user?


S@shka   (2007-09-14 10:47:00) [4]


> > Потому что нужен запуск до Logon
> ? а кто кнопочки в приложении нажимать будет?

Работает автономно.


> > где засада?
> юзер не тот под которым сервис стартует... под него нет
> прав, чтото не установлено, dsn не прописан/не установлен
> (вероятнее всего судя по ошибке).

Насчет юзера не понял - но покапаю.

dsn - есно прописан - потому что как я описал  сама программа если ее запускать обычным способом - работает.


sniknik   (2007-09-14 00:02:00) [5]

> где засада?
юзер не тот под которым сервис стартует... под него нет прав, чтото не установлено, dsn не прописан/не установлен (вероятнее всего судя по ошибке).

> Потому что нужен запуск до Logon
? а кто кнопочки в приложении нажимать будет?


S@shka   (2007-09-13 23:35:00) [6]

Все еще актуально ...


S@shka   (2007-09-07 18:25:00) [7]

Потому что нужен запуск до Logon


clickmaker   (2007-09-07 16:19:00) [8]


> Сервис (фактически предназначенный просто для автозапуска
> указанный приложений

а почему само приложение не поместить в автозапуск?


Наверх

Титульная страница Поиск, карта сайта Написать письмо