|
|
|
|
Главная / DELPHI /
Часто задаваемые вопросы и ответы на них / Object Pascal /
Как
заставить Delphi выполнять еще более строгую проверка типов? Напрмер - я
создаю пользовательский тип, унаследованный от double и могу передавать его
любым функциям, принимающим параметр типа double. Как заставить компилятор
проводить более строгую проверку типов и выдавать предупреждение в таких
случаях?
|
|
|
|
Как
заставить Delphi выполнять еще более строгую проверка типов? Напрмер - я
создаю пользовательский тип, унаследованный от double и могу передавать его
любым функциям, принимающим параметр типа double. Как заставить компилятор
проводить более строгую проверку типов и выдавать предупреждение в таких
случаях?
Пример:
type TStrongType = type Double; type TWeakType = Double;
procedure AddWeakType(var d : TWeakType); begin d := d + 1; end;
procedure AddStrongType(var d : TStrongType); begin d := d + 1; end;
procedure AddDoubleType(var d : Double); begin d := d + 1; end;
procedure TForm1.Button1Click(Sender: TObject); var d : Double; s : TStrongType; w : TWeakType; begin AddDoubleType(d); {compiles fine} AddDoubleType(w); {compiles fine} AddDoubleType(s); {<- compile error} AddDoubleType(double(s)); {compiles fine} AddWeakType(d); {compiles fine} AddWeakType(w); {compiles fine} AddWeakType(s); {<- compile error} AddWeakType(TWeakType(s)); {compiles fine} AddStrongType(d); {<- compile error} AddStrongType(TStrongType(d)); {compiles fine} AddStrongType(w); {<- compile error} AddStrongType(TStrongType(w)); {compiles fine} AddStrongType(s); {compiles fine} end;
Источник:
Дельфи. Вокруг да
около.
|
Copyright ©
"Мастера DELPHI" E-mail:
delphi@mastak.com
http://www.delphimaster.ru |
Источник получения информации: http://www.delphimaster.ru
|
|