Объявления констант в inc

Форум для изучающих FPC и их учителей.

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

Объявления констант в inc

Сообщение fpbt » 02.01.2013 13:19:11

Здравствуйте.

Наткнулся на проблему. В коде объявлена константа:
Код: Выделить всё

uses
  ...., Windows, ...

const
  GENERIC_ACCESS = GENERIC_READ or GENERIC_WRITE or GENERIC_EXECUTE or GENERIC_ALL;

...


Компилятор выдаёт ошибку на "GENERIC_EXECUTE": unit1.pas(11,68) Error: Identifier not found "GENERIC_EXECUTE"
Ну это я понимаю, т.к. в файле "$(LazarusDir)\fpc\2.6.1\source\rtl\win\wininc\defines.inc" нет такого определения. Я поискал и нашел в другом файле: "$(LazarusDir)\fpc\2.6.1\source\rtl\wince\wininc\defines.inc".

Решил прописать в "$(LazarusDir)\fpc\2.6.1\source\rtl\win\wininc\defines.inc":
Код: Выделить всё
  { CreateFile, GetFileAttributes, SetFileAttributes  }
     GENERIC_READ = $80000000;
     GENERIC_WRITE = $40000000;
     GENERIC_EXECUTE = $20000000; // <- добавил

В лазаре при наведении на GENERIC_EXECUTE стала появляться всплывающая подсказка на его значение и файл. Но при компиляции всё равно та же ошибка.

Пример:
Код: Выделить всё
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Windows;

const
  GENERIC_ACCESS = GENERIC_READ or GENERIC_WRITE or GENERIC_EXECUTE or GENERIC_ALL;

type
  TForm1 = class(TForm)
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

end.


Подскажите, что и как правильно надо делать.

Lazarus-1.1-39718-fpc-2.6.1-20130102-win32.exe
Последний раз редактировалось fpbt 02.01.2013 14:18:08, всего редактировалось 2 раз(а).
fpbt
новенький
 
Сообщения: 17
Зарегистрирован: 27.09.2011 21:48:35

Re: Объявления констант в inc

Сообщение bormant » 02.01.2013 14:10:40

Вы собираете приложение для winCE?
Любые изменения в исходном коде RTL отразятся на компиляции только после пересборки RTL. Это действительно нужно?
Проще объявить недостающее в своем коде.
Последний раз редактировалось bormant 02.01.2013 14:17:14, всего редактировалось 1 раз.
Аватара пользователя
bormant
постоялец
 
Сообщения: 407
Зарегистрирован: 21.03.2012 11:26:01

Re: Объявления констант в inc

Сообщение fpbt » 02.01.2013 14:16:31

bormant писал(а):Вы собираете приложение для winCE?

Нет, для win 32.
Пост подправил, не досмотрел когда копировал.
fpbt
новенький
 
Сообщения: 17
Зарегистрирован: 27.09.2011 21:48:35


Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

Рейтинг@Mail.ru