![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка RegisterServiceProcess в NT-подобных системах [D6, Win95/98]
Stefan © (2004-12-01 15:51:00)пишу
{$IFDEF WIN32} // для win9x/Me
RegisterServiceProcess..........
{$ELSE} // для NT
{$ENDIF}
компилируется успешно, в Win98 работает, в w2k - со всего размаха и по морде. Не работает. Вылетает совсем с ощибкой, пишет, что не может найти точку входа на процедуру RegisterServiceProcess в ядре KERNEL32
Что делать ?
BlackTr (2004-12-03 11:26:00) [1]Директивы обрабатываются компилятором, в run-time их просто нет :)
Stefan (2004-12-03 11:15:00) [2]для чего тогда директивы ?
http://www.sources.ru/delphi/system/get_windows_version.shtml
Xaker (2004-12-03 01:13:00) [3]Stefan (02.12.04 22:41) [6]
и стукни в аську :))
Xaker (2004-12-03 00:35:00) [4]Удалено модератором
Xaker (2004-12-03 00:34:00) [5]Stefan кинь код на xaker_delphi_sys@mail.ru
Stefan (2004-12-02 22:41:00) [6]Удалено модератором
Примечание: Такие вещи по почте
Stefan (2004-12-02 22:40:00) [7]Удалено модератором
Примечание: Такие вещи по почте
vertal (2004-12-01 21:24:00) [8]Пo-моему, другого варианта, как вот так, нету:
type
TRegisterServiceProcess = function(dwProcessId: DWORD; dwType: DWORD): DWORD; stdcall;
const
RSP_SIMPLE_SERVICE = 1;
RSP_UNREGISTER_SERVICE = 0;
var
RegisterServiceProcess: TRegisterServiceProcess;
begin
...
if(LongInt(GetVersion) < 0)then
begin
RegisterServiceProcess := GetProcAddress( GetModuleHandle( 'kernel32.dll'),
'RegisterServiceProcess');
RegisterServiceProcess(0, RSP_SIMPLE_SERVICE);
...
end;
А константы компилятора не имеют отношения к тому, под какой средой запускается программа.
Xaker (2004-12-01 17:47:00) [9]Stefan (01.12.04 15:51)
покажи код для NT
Anatoly Podgoretsky (2004-12-01 16:21:00) [10]F1 + RegisterServiceProcess
KSergey (2004-12-01 15:59:00) [11]Нет такой штуки для NT
ЗЫ
К стати, а что, NT - это не Win32?