![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
перевести свою старую программу на
Arhangel © (2002-12-01 20:36:00)Я захотел перевести свою старую программу на "кол", но в программе есть строка
private
procedure WndProc(var Msg: TMessage); override;
и если программу писать на кол, то он ругается,
[Error] Unit2.pas(26): Field definition not allowed after methods or properties
что можно сделать?
Vladimir Kladov (2002-12-04 10:07:00) [1]
> Gandalf (02.12.02 09:42)
> Мой друг такие вопросы... тут же явно жвучит ответ, надо
> строки поменять местами. Т.е.: Вот так нельзя!
>
> private (public , etc)
> destructor Destroy; virtual;
> Title:String;
>
> а так можно,
>
> private (public , etc)
> Title:String;
> destructor Destroy; virtual;
Нет, просто override не пройдет. К тому же здесь overrid-ится WndProc формы, а в KOL это тем более не пройдет. И особенно в MCK, где форма - вообще не визуальный объект, без намека на диспетчеризацию. OnMessage ему надо, объекта Form1.Form.OnMessage.
SPeller (2002-12-02 23:35:00) [2]А ещё при изменении области видимости свойства объекта компилятор вылетает с ошибкой Inernal Error SY0000
Fantasist (2002-12-02 21:20:00) [3]
> Мой друг такие вопросы... тут же явно жвучит ответ, надо
> строки поменять местами.
Должен сказать,оказывается это не всегда так. D6 в обявлениях объектов(object) не переносит директиву overrideи именно с таким сообщением. Похоже, что какое-то упущение в компиляторе. Приходиться делать virtual.
Gandalf (2002-12-02 09:42:00) [4]Мой друг такие вопросы... тут же явно жвучит ответ, надо строки поменять местами. Т.е.: Вот так нельзя!
private (public , etc)
destructor Destroy; virtual;
Title:String;
а так можно,
private (public , etc)
Title:String;
destructor Destroy; virtual;