-
Иногда бывает другая ситуация, к примеру: я знаю ответ на вопрос Зотыча, но знаю и альтернативный - расширенный вариант. Что считать верным? ;)
-
> Rouse_ © (14.06.16 23:19) [80] >
А иногда бывает так: "В чем основное отличие Java и JavaScript?"
Ну и как на это отвечать?
-
Обьекты
-
> Kerk © (14.06.16 22:44) [79] > > > > Юрий Зотов © (14.06.16 21:34) [74] > > > > Совершенно согласен и скажу даже сильнее: любой технический > > вопрос на собеседовании - из этой серии. Поскольку ответ > > спрашивающий всегда знает заведомо. > > Не любой :) > > Я потому и ополчился на вопрос про OnCreate, а не на вопрос > про конвертацию. Потому что первый вопрос - это вопрос телевикторины > на знание фактов
Не совсем так. Это вопрос на знание основ Дельфи для разработчика классов. Вопрос про конвертацию вообще имеет очень слабое отношение именно к Дельфи. Там только вопрос алгоритмов и грамотного их применения. P.S. Вот тут хочется ещё раз спросить с какой целью ТС задал свой вопрос "Хочу узнать свой скилл"? Для оценки "кодера" вопрос про OnCreate явно не подходит.
-
> Rouse_ © (15.06.16 00:20) [82] > Обьекты
Вопрос оказался провокацией.
-
> Германн © (15.06.16 01:02) [83] > Не совсем так. Это вопрос на знание основ Дельфи для разработчика > классов. Вопрос про конвертацию вообще имеет очень слабое > отношение именно к Дельфи. Там только вопрос алгоритмов > и грамотного их применения. > P.S. Вот тут хочется ещё раз спросить с какой целью ТС задал > свой вопрос "Хочу узнать свой скилл"? > Для оценки "кодера" вопрос про OnCreate явно не подходит. >
на мой взгляд как у конкретного вопроса в конкретном месте было неудачное ограничение: "никуда не подглядывая". В таком варианте - именно телевикторина. А вот если убрать это ограничение - это уже отличный вопрос по всем параметрам. Один фик ответ на ту часть, где уточняется "почему" и "чем заменить" напрямую нигде не содержится и тут-то и можно выбирать по ответам. Я бы не догадался даже с подглядыванием. В отличии.
> Германн © (15.06.16 01:02) [83] > P.S. Вот тут хочется ещё раз спросить с какой целью ТС задал свой вопрос "Хочу узнать свой скилл"? > Для оценки "кодера" вопрос про OnCreate явно не подходит.
Мне вопрос зададут - а я на него отвечу. Мне будет приятно. На что не отвечу - буду знать куда рыть. По-моему, вполне нормальное желание.
-
> Kerk © (14.06.16 22:44) [79] > первый вопрос - это вопрос телевикторины на знание фактов,
Не согласен.
Первый вопрос (про OnCreate) состоит из трех взаимосвязанных частей. Можно сказать, что первая часть - действительно на знание фактов. Для ответа достаточно назвать TForm и TDataModule. И если человек отвечает именно так, то он показывает свои знания, но не более того. Но если он отвечает так:
"Событие OnCreate имеют компоненты, которые:" - являются контейнерами других компонентов; - при создании грузят себя и свое содержимое из DFM или иного ресурса; - после полной загрузки генерируют событие OnCreate.
На сегодня это TForm и TDataModule. Но завтра могут появиться и другие.
И если человек отвечает именно так, то он показывает не только свои знания, но и понимание того, что до полного окончания загрузки обращаться к другим компонентам и генерить события нельзя.
Хорошо, допустим, что человек все это понимает, но не придал этой части вопроса особого значения, поэтому просто назвал TForm и TDataModule. Для того, чтобы уточнить, служит вторая часть вопроса - почему так сделано? Вот тут уже надо думать, голым знанием фактов тут не обойдешься.
Ну и третья часть - практическая. Тоже говорит о понимании. Потому что надо не только знать о существовании метода Loaded, но и понимать, зачем он нужен и как работает. Кроме того, третья часть в какой-то степени проявляет практический уровень человека. Дело в том, что перекрытие Loaded прикладниками почти не используется, поэтому прикладник подумает. А для компонентщика со стажем перекрытие Loaded - обычное дело, ему и думать не надо.
-
Я тоже знаю вопрос, на который без 100 грамм не ответить.
Другое дело, что знание ответа на него применять, также, как и OnCreate у иных компонентов делать, дело настолько не распространенное, что польза от ответа на подобный вопрос без интернета чуть менее, чем никакая. Да, понимание VCL, но нахрен оно нужно - это понимание до таких глубин, чтобы сходу ответить на нетривиальные вопросы - я тоже не знаю.
Занимательно, что про Firemonkey никто не спрашивает. К чему бы это ?
-
> KSergey © > All
Вопрос, ответа на который я не знаю.
Пишем базовую форму, от которой потом будем наследовать рабочие формы.
1. На базовой форме лежат компоненты, которые должны автоматически появляться и у рабочих форм-потомков. С этой целью базовая форма помещена в репозиторий.
2. У базовой формы есть добавленные нами новые published-свойства. Чтобы эти свойства были доступны в design-time, базовая форма зарегистрирована в IDE через RegisterCustomModule.
3. Базовая форма лежит в run-time пакете. Еще есть design-time пакет, который в required ссылается на run-time пакет и инсталлирован в IDE. Design-time пакет содержит процедуру register и все остальное, что нужно только в design-time. Это эксперт, помещающий базовую форму в репозиторий, а также (если надо) редакторы свойств и компонентов.
4. Что ожидаем. Жмем New-Other, в репозитории выбираем базовую форму и получаем ее наследника (рабочую форму) со всеми компонентами и добавленными нами свойствами - причем эти свойства доступны для правки в design-time.
5. Что имеем на самом деле. Жмем New-Other, в репозитории выбираем базовую форму и получаем ее наследника (рабочую форму) БЕЗ ВСЯКИХ КОМПОНЕНТОВ, АБСОЛЮТНО ПУСТУЮ. Но добавленные нами свойства есть и они действительно доступны для правки в design-time.
6. Убираем RegisterCusomModule. Жмем New-Other, в репозитории выбираем базовую форму и, само собой, получаем ее наследника (рабочую форму) со всеми компонентами. Но добавленных нами свойств в инспекторе объектов мы, естественно, не видим.
7. Получили противоречие. Если RegisterCustomModule есть, то у рабочей формы есть новые свойства, но нет унаследованных компонентов. Если же RegisterCustomModule нет, то унаследованные компоненты имеются, но нет новых свойств.
Вопрос: как добиться желаемого? Чтобы у рабочей формы были и новые свойства, и унаследованные компоненты.
Ответ: я не знаю ответа.
-
> Игорь Шевченко © (15.06.16 10:34) [87]
> Да, понимание VCL, но нахрен оно нужно - это понимание до > таких глубин, чтобы сходу ответить на нетривиальные вопросы
Все зависит от характера работы. Чистому прикладнику эти глубины действительно вряд ли нужны. Но работал я в одной конторе, в системной группе - так в этой группе без знания и понимания подобных глубин ну никак.
-
> понимание того, что до полного окончания загрузки обращаться > к другим компонентам и генерить события нельзя
глубоко, да, очень глубоко
-
Вопрос: как добиться желаемого? Чтобы у рабочей формы были и новые свойства, и унаследованные компоненты.
создать проджект груп в которую входит проджект с дизайном предка и текущий проджект использующий предка.
перед созданием наследника убедится что открыта форма с предком
-
-
> KSergey © (15.06.16 07:45) [85] > > > Германн © (15.06.16 01:02) [83] > > Не совсем так. Это вопрос на знание основ Дельфи для разработчика > > классов. Вопрос про конвертацию вообще имеет очень слабое > > отношение именно к Дельфи. Там только вопрос алгоритмов > > и грамотного их применения. > > P.S. Вот тут хочется ещё раз спросить с какой целью ТС > задал > > свой вопрос "Хочу узнать свой скилл"? > > Для оценки "кодера" вопрос про OnCreate явно не подходит. > > > > > на мой взгляд как у конкретного вопроса в конкретном месте > было неудачное ограничение: "никуда не подглядывая". В таком > варианте - именно телевикторина.
Неудачное сравнение. Тут более подходит анекдот о том как кто-то отвечает на вопрос "чему равно дважды два/ сколько будет два умножить на два". Кто-то сразу отвечает - четыре. Кто-то хватается за логарифмическую линейку (уст.)/калькулятор. Кто-то сразу отвечает что он не обязан помнить все формулы. :)
-
> Игорь Шевченко © (15.06.16 10:34) [87] > > Занимательно, что про Firemonkey никто не спрашивает. К > чему бы это ?
Что тут занимательного? Кто тут хоть что-то знает о Firemonkey? Не говоря уже о специалистах в этой области, которые сюда заходить не желают.
-
> iop © (15.06.16 22:05) [91]
Надо же, как все просто, оказывается. Но вот Erik Berry (это разработчик GExperts) почему-то так не считает. Вот что он говорит по этому поводу:
"Note that the IDE will not allow you to add both published properties and components to a custom module at the same time".
Значит, либо он неправ, либо Вы не в теме.
-
Есть, правда, обходной путь, но он именно обходной.
-
> Германн © (16.06.16 01:59) [94] > Что тут занимательного? Кто тут хоть что-то знает о Firemonkey? > Не говоря уже о специалистах в этой области, которые сюда заходить не желают.
Вот это, кстати, в самом деле удивительно мне лично. С одной стороны, Борланд в своей реинкарнации выпускает всё новые версии, куда включает как изменения в языке, так и переписанные библиотеки. При этом изменения языка явно используются и изучаются (это видно по ответам на форуме), то изменения в стандартных библиотеках (опять же судя лишь по форуму) игнорируются чуть более, чем полностью (на мой личный взгляд). Фактически все познания - на уровне Дельфи 5/7 плюс те грабли, на которые наступали при использовании этих познаний в более новых версиях. Как так? Или я ошибаюсь?
-
KSergey © (16.06.16 14:06) [97]
> Или я ошибаюсь?
Нисколько. Другое дело, что этих познаний обычно хватает для текущих задач. Любую программу можно написать на Фортране.
-
> Игорь Шевченко © (16.06.16 18:04) [98] > Любую программу можно написать на Фортране.
Не любую :)
|