Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2017.01.15;
Скачать: [xml.tar.bz2];

Вниз

Class functions   Найти похожие ветки 

 
Token   (2015-04-22 11:21) [0]

Есть такая конструкция

TCommIntfObj = class(TInterfacedObject)
 public
    class function GetSetupFrameClass: TSetupFrameClass;
 end;
TCommIntfObjClass=class of TCommIntfObj

TRS232 = class(TCommIntfObj)
public
    class function GetSetupFrameClass: TSetupFrameClass;
end;

const
 ComObjs=array [0..0] of TCommIntfObjClass  = (TRS232)
....
begin
 frmCls:=ComObj[0].GetSetupFrameClass
end


Какой метод будет вызван TCommIntfObj или TRS232?


 
Token   (2015-04-22 12:06) [1]

Удалено модератором


 
junglecat ©   (2015-04-22 12:38) [2]

статические функции не наследуются


 
icWasya ©   (2015-04-22 14:59) [3]

Надо функцию сделать виртуальной.


 
Ega23 ©   (2015-04-23 10:04) [4]


> статические функции не наследуются


чёй-та?


 
DVM ©   (2015-04-23 10:18) [5]

Это вообще не статические функции, а классовые.


 
DVM ©   (2015-04-23 10:52) [6]


> Token   (22.04.15 11:21) 

Классовые методы же могут быть виртуальными.  

Сделай так:

TCommIntfObj = class(TInterfacedObject)
public
   class function GetSetupFrameClass: TSetupFrameClass; virtual;
end;
TCommIntfObjClass=class of TCommIntfObj

TRS232 = class(TCommIntfObj)
public
   class function GetSetupFrameClass: TSetupFrameClass; override;
end;

И не ломай мозг себе и окружающим. Перекрывать невиртуальные методы вообще не очень хорошо, приводит к путанице.


 
Token   (2015-04-24 11:11) [7]

Спасибо.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2017.01.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.043 c
15-1452933004
Юрий
2016-01-16 11:30
2017.01.15
С днем рождения ! 16 января 2016 суббота


2-1428788906
BBC
2015-04-12 00:48
2017.01.15
Фокусировка PaintBox


15-1456097809
Kerk
2016-02-22 02:36
2017.01.15
Работа стоя


15-1456695049
Юрий
2016-02-29 00:30
2017.01.15
С днем рождения ! 29 февраля 2016 понедельник


15-1432230427
engine
2015-05-21 20:47
2017.01.15
Не работает delphimaster.net





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский