![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
array [] of procedure() of object [D7, WinXP]
Fosgen © (2009-12-24 03:04:00)Вот собственно интересует структура и синтаксис создания сабжа.
Вариант с объявлением типа procedure() of object, и последующим объявлением array of такого типа - не предлагать - не катит.
Уперся в то что Дельфя не хочет признавать идентификаторы тех самых procedure of object за корректные элементы массива.
С просто procedure или function - проканывает объявление типа и потом размещение идентификаторов в массиве.
С именами методов - не получается.
Кто-нибудь знает решение?
Fosgen (2009-12-24 10:12:00) [21]
> статический массив или просто рисовать несколько вызовов
> без массива.
Мне придется делать каждый раз кучу проверок или реализовывать через нехилый case каждый вызов обработчика. При том что я его просто могу прописать в соответствующую property и вызывать одной строкой, нахрен вышеописанный гемор?
Основная проблема в "прописать" ТРЕБУЕМЫЙ обработчик. НЕ любой, а именно строго конкретный.
> можно поставить соответствие между набором предопределенных
> методов и битовой маской
Пример кода, пожалуйста, как Вы это видите?
> так как иногда не надо искать ответ на вопрос как удалить
> гланды через анус.
Сначала убедитесь что это именно ТАК.
Медвежонок Пятачок (2009-12-24 09:48:00) [22]это что - нормальное поведение - Если нет ответа, задавать вопросы "Зачем?" "А смысл?"
нормальное поведение.
так как иногда не надо искать ответ на вопрос как удалить гланды через анус.
Медвежонок Пятачок (2009-12-24 09:45:00) [23]если не нравится хардкодить последовательность вызовов, то можно поставить соответствие между набором предопределенных методов и битовой маской.
тогда массив будет целочисленным и вызовы можно будет реализовать циклом
Медвежонок Пятачок (2009-12-24 09:43:00) [24]тогда какая разница, что именно хардкодить?
статический массив или просто рисовать несколько вызовов без массива.
Fosgen (2009-12-24 09:24:00) [25]Уточняю для тех, кто не читает первый пост (" Вариант с объявлением типа procedure() of object, и последующим объявлением array of такого типа - не предлагать - не катит").
Тем что у меня массив КОНСТАНТ. Мне его не надо заполнять рантайм.
А в таком раскладе Дельфи не признает приведеный синтаксис. Ругается на массив констант (идентификаторов методов класса). И думаю, догадаетесь что объявление массива типом - тоже не поможет.
Смысл такого массива в том, что у меня куча методов, описывающих процессы. Методы готовые. А вот назначаются каждому экземпляру класса индивидуально по его отличительным признакам. Т.е. каждый экземпляр класса обрабатывается своим процессом. Обработчик должен иметь доступ ко всем св-вам класса.
И мне вообще интересно - это что - нормальное поведение - Если нет ответа, задавать вопросы "Зачем?" "А смысл?"
Для меня - есть смысл.
RWolf (2009-12-24 09:22:00) [26]
> Но смысл такого массива?
EventListeners: TProcArray например
Германн (2009-12-24 07:27:00) [27]
> Джо © (24.12.09 06:57) [2]
>
> Так чем
>
Имхо, понятно чем :)
Но смысл такого массива?
KilkennyCat (2009-12-24 07:04:00) [28]
> Джо © (24.12.09 06:57) [2]
наверное, формой записи.
Джо (2009-12-24 06:57:00) [29]Так чем
typeне устраивает-то?
TProc = procedure of object;
TProcArray = array of TProc;
Германн (2009-12-24 06:39:00) [30]
> Fosgen © (24.12.09 03:04)
>
> Вот собственно интересует структура и синтаксис создания
> сабжа.
>
А смысл?