Application.Handle выдает identifier idents no member "Handl

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
calypso
незнакомец
Сообщения: 4
Зарегистрирован: 29.09.2011 21:12:28

Application.Handle выдает identifier idents no member "Handl

Сообщение calypso »

Не компилируется код:

Код: Выделить всё

MessageDlg('Уже поздно. Будь послушным мальчиком. '+
  'Туши свет и вали спать!', mtInformatoion, [mbOk], 0);
  SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0);


В Гугле ничего не нашлось,любой код содержащий Application.Handle выдает такую ошибку. Режим совместимости в Делфи не помогает.
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

у класса Application нет свойства Handle
calypso
незнакомец
Сообщения: 4
Зарегистрирован: 29.09.2011 21:12:28

Сообщение calypso »

Тем не менее,на Codegear Delphi 2007 этот код отлично работает.
Мне вообще надо откомпилировать вот этот модуль для работы с файлами:
http://delphiworld.narod.ru/base/get_al ... _file.html
Там соответственно Лазарус ругается на строчку:

Код: Выделить всё

result := shellapi.ShellExecute( Application.Handle, 'open',
    pChar( fFileName ), '', pChar(Path), SW_SHOWDEFAULT );
eastorwest
новенький
Сообщения: 57
Зарегистрирован: 23.07.2009 20:21:46
Откуда: Н-ск

Сообщение eastorwest »

Попробуйте заменить Application.Handle на WidgetSet.AppHandle...

Код: Выделить всё

uses InterfaceBase;
...

result := shellapi.ShellExecute( WidgetSet.AppHandle, 'open',
    pChar( fFileName ), '', pChar(Path), SW_SHOWDEFAULT );
Ответить