![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Декларация и исполнение процедур/функций [D7]
cobalt © (2012-10-31 16:49:00)А не подскажут ли блаародные доны,
если я в interface задаю декларацию процедуры,
а в implementation опускаю её параметры (никаких overload нет и не предвидится в принципе)
есть ли какие грабли?
Rouse_ (2012-10-31 22:50:00) [21]
> bems - победил тебя Вовч :)
читать, как : Вовч, тебя по любому победил bems :))
Чет у меня сегодня как у йоды наоборот все пишется :)
bems (2012-10-31 22:50:00) [22]
> В паблик метод параметром вложеный стрикт тип????
метод не обязан быть публичным
вот в таком варианте проблема повторяется
unit Unit12;
interface
type
TAncestor = class
strict protected
type
TNested = Integer;
procedure Method(Param: TNested); virtual; abstract;
end;
TDescendant = class(TAncestor)
strict protected
procedure Method(Param: TAncestor.TNested); override;
end;
implementation
{ TDescendant }
procedure TDescendant.Method{Param: TAncestor.TNested};
begin
end;
end.
Rouse_ (2012-10-31 22:48:00) [23]
> Cobalt © (31.10.12 22:27) [7]
> Например, мне пришлось исключать глобальную переменную в
> одном модуле, и перетаскивать её в параметры функций.
Эвона как - шикарный вид...
> bems © (31.10.12 22:40) [8]
В паблик метод параметром вложеный стрикт тип????
Блин...
bems - победил тебя Вовч :)
bems (2012-10-31 22:40:00) [24]
> ???????
> Пример ситуации плз...
вот пример
unit Unit12;
interface
type
TAncestor = class
strict protected
type
TNested = Integer;
public
procedure Method(Param: TNested); virtual; abstract;
end;
TDescendant = class(TAncestor)
public
procedure Method(Param: TAncestor.TNested); override;
end;
implementation
{ TDescendant }
procedure TDescendant.Method{Param: TAncestor.TNested};
begin
end;
end.
кроме этого был еще случай когда просто компилятор начинал ругаться на реализацию при добавлении очередного параметра, и опыты показывали что дело просто в их количестве. Лечилось тоже указанием параметров только в интерфейсе. Но это я не смог сейчас воспроизвести, может в ХЕ2 уже исправили, а может это меня глючит
Cobalt (2012-10-31 22:27:00) [25]Например, мне пришлось исключать глобальную переменную в одном модуле, и перетаскивать её в параметры функций.
А их около 50-ти...
Rouse_ (2012-10-31 21:38:00) [26]
> bems © (31.10.12 21:36) [5]
> бывали даже ситуации, когда по другому не получалось, и
> в реализации приходилось убирать параметры намеренно. но
> в этом случае я указывал их в комментарии
???????
Пример ситуации плз...
bems (2012-10-31 21:36:00) [27]бывали даже ситуации, когда по другому не получалось, и в реализации приходилось убирать параметры намеренно. но в этом случае я указывал их в комментарии
Rouse_ (2012-10-31 21:31:00) [28]А нафига?
Dimka Maslov (2012-10-31 18:26:00) [29]
> Германн © (31.10.12 17:59) [2]
Это работает только для классов.
> есть ли какие грабли?
Только если функция перегружается. Ну а кроме того, завсегда можно посмотреть параметры.
Германн (2012-10-31 17:59:00) [30]
> а в implementation опускаю её параметры
А зачем делать лишние нажатия клавиш после Ctrl+Shift+C ?
icWasya (2012-10-31 16:56:00) [31]Только в том, что можешь запутаться сам.