Форум: "KOL";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];
Внизперевести свою старую программу на Найти похожие ветки
← →
Arhangel (2002-12-01 20:36) [0]Я захотел перевести свою старую программу на "кол", но в программе есть строка
private
procedure WndProc(var Msg: TMessage); override;
и если программу писать на кол, то он ругается,
[Error] Unit2.pas(26): Field definition not allowed after methods or properties
что можно сделать?
← →
Gandalf (2002-12-02 09:42) [1]Мой друг такие вопросы... тут же явно жвучит ответ, надо строки поменять местами. Т.е.: Вот так нельзя!
private (public , etc)
destructor Destroy; virtual;
Title:String;
а так можно,
private (public , etc)
Title:String;
destructor Destroy; virtual;
← →
Fantasist (2002-12-02 21:20) [2]
> Мой друг такие вопросы... тут же явно жвучит ответ, надо
> строки поменять местами.
Должен сказать,оказывается это не всегда так. D6 в обявлениях объектов(object) не переносит директиву override и именно с таким сообщением. Похоже, что какое-то упущение в компиляторе. Приходиться делать virtual.
← →
SPeller (2002-12-02 23:35) [3]А ещё при изменении области видимости свойства объекта компилятор вылетает с ошибкой Inernal Error SY0000
← →
Vladimir Kladov (2002-12-04 10:07) [4]
> 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.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c