Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Lazarus не компилит  [new]
Cobalt747
Member

Откуда:
Сообщений: 2097
может кто объяснить - что надо изменить?

type
  TIsPwrShutdownAllowed = function: WordBool; stdcall;

procedure PowerOff;
var
  h: integer;
  P: TIsPwrShutdownAllowed;
begin
  try
    if not IsWindowsNT then
      Abort;
    h := LoadLibrary('powrprof.dll');
    if h = 0 then
      Abort;
    try
      Pointer(P) := GetProcAddress(h, 'IsPwrShutdownAllowed');
      if not Assigned(P) then
        Abort;
      if not P then
        Abort;
    finally
      FreeLibrary(h);
    end;
    ExitWindowsEx(EWX_POWEROFF, 0);
  except
    ExitWindowsEx(EWX_SHUTDOWN, 0);
  end;
end; 


Ругается
Error: Operator is not overloaded: not "<procedure variable type of function:WordBool;StdCall>"
11 июл 19, 18:45    [21925200]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus не компилит  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 4797
Cobalt747,

if not P() then
11 июл 19, 18:48    [21925201]     Ответить | Цитировать Сообщить модератору
 Re: Lazarus не компилит  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 3260
function IsPwrShutdownAllowed: BOOL; stdcall;
?
11 июл 19, 18:51    [21925202]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить