Привет, "человек без имени"!
Вы пишешь 26 октября 2005:
> Warning: Method 'Create' hides virtual method of base type 'TLogMsg' > что означает? > и как от него избавиться?
Читай про перекрытие виртуальных методов.
Волшебное слово override.
--
With best regards, Alex Cherednichenko.
Posted via RSDN NNTP Server 1.9
Re[2]: Warning: Method 'Create' hides virtual method of base
От:
Аноним
Дата:
26.10.05 08:44
Оценка:
Здравствуйте, Alex.Che, Вы писали:
AC>Читай про перекрытие виртуальных методов. AC>Волшебное слово override.
Спасибо.
помогла директива overload
тк метод от которого наследовалось был моим.
а вот как с формой поступать?
мне нужно изменить конструктор...
и передавать в него др параметры
overload не поставить
override не помогает
или я чего не понимаю
(оч вероятно => Помогите)
Re[3]: Warning: Method 'Create' hides virtual method of base
Привет, "человек без имени"!
Вы пишешь 26 октября 2005:
AC>> Читай про перекрытие виртуальных методов. AC>> Волшебное слово override.
> помогла директива overload > тк метод от которого наследовалось был моим.
override и overload — две большие разницы. (С)
> а вот как с формой поступать? > мне нужно изменить конструктор... > и передавать в него др параметры
> overload не поставить > override не помогает
> или я чего не понимаю > (оч вероятно => Помогите)
Купи книжечку по Delphi.
Научиться программировать "методом тыка", маловероятно.
Нужно хоть азы прочесть.
--
With best regards, Alex Cherednichenko.
Posted via RSDN NNTP Server 1.9
Re[4]: Warning: Method 'Create' hides virtual method of base
От:
Аноним
Дата:
26.10.05 08:58
Оценка:
Здравствуйте, Alex.Che, Вы писали:
AC>Купи книжечку по Delphi. AC>Научиться программировать "методом тыка", маловероятно. AC>Нужно хоть азы прочесть.
учить легко
а помочь слабо?
( ну нет возможности сею секунду бежать за книжечкой в магаз )
Re[5]: Warning: Method 'Create' hides virtual method of base
Привет, "человек без имени"!
Вы пишешь 26 октября 2005:
AC>> Купи книжечку по Delphi. AC>> Научиться программировать "методом тыка", маловероятно. AC>> Нужно хоть азы прочесть.
> учить легко > а помочь слабо?
Не слабО, но рассказывать азбуку, это уж слишком.
--
With best regards, Alex Cherednichenko.
Posted via RSDN NNTP Server 1.9
Re[5]: Warning: Method 'Create' hides virtual method of base
Здравствуйте, Аноним, Вы писали:
AC>>Купи книжечку по Delphi. AC>>Научиться программировать "методом тыка", маловероятно. AC>>Нужно хоть азы прочесть.
А>учить легко А>а помочь слабо?
Опс... RTFM однако... Если метод у тебя свой — сделай-ка ты его в самом начале virtual, а уж потом будь добр наследуйся сколько угодно с заменой virtual на override и будет тебе счастье.
А>( ну нет возможности сею секунду бежать за книжечкой в магаз )
А вот без книжки счастья еще долго не будет
WBR, Dmitry Beloshistov AKA [-=BDS=-]
Re[6]: Warning: Method 'Create' hides virtual method of base
От:
Аноним
Дата:
26.10.05 09:08
Оценка:
Здравствуйте, DarkMaster, Вы писали:
DM>Опс... RTFM однако... Если метод у тебя свой — сделай-ка ты его в самом начале virtual, а уж потом будь добр наследуйся сколько угодно с заменой virtual на override и будет тебе счастье.
тык мне надо конструктор стандартной формы переделать
это НЕ свой метод...
Re[3]: Warning: Method 'Create' hides virtual method of base
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Alex.Che, Вы писали:
AC>>Читай про перекрытие виртуальных методов. AC>>Волшебное слово override.
А>Спасибо.
А>помогла директива overload А>тк метод от которого наследовалось был моим.
А>а вот как с формой поступать? А>мне нужно изменить конструктор... А>и передавать в него др параметры
А>overload не поставить А>override не помогает
А>или я чего не понимаю А>(оч вероятно => Помогите)
reintroduce
Re[4]: Warning: Method 'Create' hides virtual method of base
Здравствуйте, Leonid Troyanovsky, Вы писали:
LT>Здравствуйте, vlad_gri, Вы писали:
_>>тык мне надо конструктор стандартной формы переделать
LT> У стандартной (TForm ?) формы нет абстрактных методов.
нет
Re[8]: Warning: Method 'Create' hides virtual method of base
Здравствуйте, vlad_gri, Вы писали:
_>Здравствуйте, Leonid Troyanovsky, Вы писали:
LT>>Здравствуйте, vlad_gri, Вы писали:
_>>>тык мне надо конструктор стандартной формы переделать
LT>> У стандартной (TForm ?) формы нет абстрактных методов.
_>нет
а у TCustomForm есть
Re[9]: Warning: Method 'Create' hides virtual method of base
Здравствуйте, dvoika, Вы писали:
D>Здравствуйте, vlad_gri, Вы писали:
_>>Здравствуйте, Leonid Troyanovsky, Вы писали:
LT>>>Здравствуйте, vlad_gri, Вы писали:
_>>>>тык мне надо конструктор стандартной формы переделать
LT>>> У стандартной (TForm ?) формы нет абстрактных методов.
_>>нет
D>а у TCustomForm есть
нет.
Каким образом наличие/отсутствие абстрактных методов влияет на директиву reintroduce?
Re[10]: Warning: Method 'Create' hides virtual method of bas
Здравствуйте, Leonid Troyanovsky, Вы писали:
LT>Здравствуйте, vlad_gri, Вы писали:
_>>Каким образом наличие/отсутствие абстрактных методов влияет на директиву reintroduce?
LT> Никаким. LT> Просто, в перекрытом (override) конструкторе можно смело вызвать inherited, LT> который и выполнит всю черновую работу.
LT> За исключением, скажем таких вещей, которые требуют хендла окна, LT> скажем, ListBoxX.Add(..). Т.е., в этом случае перекрывают CreateWnd.
Директива reintroduce не запрещает вызов inherited.
Re[12]: Warning: Method 'Create' hides virtual method of bas
Здравствуйте, Leonid Troyanovsky, Вы писали:
LT>Здравствуйте, vlad_gri, Вы писали:
_>>Директива reintroduce не запрещает вызов inherited.
LT> А она здесь нафиг не нужна. LT> Use reintroduce when you want to hide an inherited virtual method with a new one.
Так в чем спор.
Re: Warning: Method 'Create' hides virtual method of base ty
Здравствуйте, Аноним, Вы писали:
А>Warning: Method 'Create' hides virtual method of base type 'TLogMsg' А>что означает? А>и как от него избавиться?
Короче, тут так —
Если Вы пишете свой собственный метод, и вызываете его только сами, то
1) если название и сигнатура совпадают с родительскими —
пишете ключевое слово reintroduce, например
constructor Create; reintroduce;// просто подавление выдачи Warning
2) если совпадают названия а сигнатуры разные —
пишете ключевое слово overload, например