published-свойства

Вопросы программирования на Free Pascal, использования компилятора и утилит.

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

published-свойства

Сообщение vunder » 16.09.2008 11:19:44

Проект, который прекрасно собирается в Delphi? никак не хочет компилица в FreePascal (Lazarus)
Ошибка следующая
Error: Only class which are compiled in $M+ mode can be published

Кусок исходника такой:
Код: Выделить всё
  tRtpTable = class(tTransporter)
    QDetails: tQDetails;//здесь ошибка
  private
    fCapacity: Integer;
    fClientName: string;
    fFields: tFieldIndexes;
    fQFields: tFieldIndexes;
    fSortField: tFieldIndex;
    fUpdateField: tFieldIndex;

Во всех модулях ставил {$MODE Delphi}. Пытался ставить {$M+} именно для этого класса - не помогает. В чем проблема?
Использую Lazarus 0.9.24 beta, FPC 2.2.0
vunder
незнакомец
 
Сообщения: 6
Зарегистрирован: 10.01.2007 13:17:57

Re: published-свойства

Сообщение B4rr4cuda » 16.09.2008 15:43:30

А не пробовал
Код: Выделить всё
{$mode delphi} {$M+}
в начале модуля?
ЗЫ фраза
vunder писал(а):Пытался ставить {$M+} именно для этого класса

мне не понятна...
Аватара пользователя
B4rr4cuda
энтузиаст
 
Сообщения: 693
Зарегистрирован: 28.12.2007 07:48:35

Re: published-свойства

Сообщение vunder » 18.09.2008 13:32:45

Поставил в начале всех подключаемых модулей {$MODE DELPHI}, все равно таже ошибка
vunder
незнакомец
 
Сообщения: 6
Зарегистрирован: 10.01.2007 13:17:57

Re: published-свойства

Сообщение alexs » 18.09.2008 14:13:47

класс tQDetails собран без не так как надо. Либо перенеси его в приватную или публик секцию или в начале модуля где объявлен класс tQDetails вставь дерективу {$M+}
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: published-свойства

Сообщение vunder » 18.09.2008 16:08:01

alexs писал(а):класс tQDetails собран без не так как надо. Либо перенеси его в приватную или публик секцию или в начале модуля где объявлен класс tQDetails вставь дерективу {$M+}

Спасибо, помогло.
Кстати, интересная штука получается: класс tQDetails является наследников от TPersistent, но описывался так:
Код: Выделить всё
...
tQDetails = class;
...
tRtpTable = class(tTransporter)
    QDetails: tQDetails;
  private
    fCapacity: Integer;
    fClientName: string;
...
tQDetails = class(tTransporter)
...
vunder
незнакомец
 
Сообщения: 6
Зарегистрирован: 10.01.2007 13:17:57


Вернуться в Free Pascal Compiler

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

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

Рейтинг@Mail.ru