Конференция "Прочее" » Тесты на знание Delphi
 
  • Skyle © (24.11.08 07:36) [40]
    Вроде посмотрел ветку, об этом вопросе не нашёл. Итак.

    VCL, вопрос №1

    На некоторой неглавной форме Form2 встречается такой код:

    procedure TForm2.Button1Click(Sender: TObject);
    begin
     Form2.Label1.Caption := 'Кнопка нажата';
    end;



    Всё ли правильно в этом коде (при условии что компонент Label1: TLabel действительно существует на форме)? Если нет, то что именно?

    Первым делом хочется ответить, что переменная Form2, автоматом объявленная средой, может и не использоваться, поэтому такой вызов неверен. Но именно такого ответа я не нахожу. Далее читаю вопрос ещё раз, и вижу, что в вопросе есть указание на Form2. То есть не какой-нибудь TForm2, а именно Form2. После этого успокаиваюсь, решив, что переменная Form2 и есть та самая форма. Отвечаю "Все правильно" и получаю по шапке.

    Где справедливость? :)
  • Сергей М. © (24.11.08 08:21) [41]

    > Григорьев Антон ©   (23.11.08 20:00) [7]
    > не понял, в чём условность.


    Если взаимодействующие проекты используют один и тот же экз-р RTL, то верен ответ "Ошибок нет", иначе верен ""В списке импортируемых модулей отсутствует ShareMem""
  • Leonid Troyanovsky © (24.11.08 10:43) [42]

    > Loginov Dmitry ©   (24.11.08 01:10) [35]

    >  > Решает проблемы с синхронизацией неизвестным науке способом

    > Супер! =)

    Вот-вот.

    Если уж надо расширить пространство ответов до четырех,
    то лучше, IMHO, такой вариант:

    4. Посылает SendMessage окну Application.

    --
    Regards, LVT.
  • KSergey © (24.11.08 11:35) [43]
    По русскому помнится 3 ошибки - двойка? ну тогда больше не заработал на классах, о как.

    По тесту: мне очень понравилось оформление, во всех частях: и вопросов, и послеответные комментарии. Супер!
  • Riply © (24.11.08 11:51) [44]
    > [0] Григорьев Антон ©   (23.11.08 16:48)
    > Кому интересно, заходите.

    Здорово ! Молодцы !
    Мне очень понравилось, хотя и попалась на нескольких вещах :)
    Но с одной ошибкой не согласна:

    9.  "Как правильно создавать нить без использования класса TThread?"

    Неужели Вы хотите сказать, что функция BeginThread неправильно создает нить,
    ибо использует для этого CreateThread, а не BeginThread ? :))
  • Loginov Dmitry © (24.11.08 12:12) [45]

    > BeginThread неправильно создает нить,
    > ибо использует для этого CreateThread, а не BeginThread


    Класс!
    Как это понимать? ))
  • DVM © (24.11.08 12:40) [46]

    > Riply ©   (24.11.08 11:51) [44]

    Тоже не согласен с тем, что BeginThread правильный способ, а CreateThread неправильный. Флаг мультипоточности можно и ручками выставить.
  • Riply © (24.11.08 12:47) [47]
    > [45] Loginov Dmitry ©   (24.11.08 12:12)
    > Как это понимать? ))

    Ну... как написано...
    Интересуюсь: если при помощи CreateThread нельзя правильно создать нить,
    то как же тогда BeginThread ( бедненькая :) ) ее созает ?
    Что-то не так ?

    > [46] DVM © (24.11.08 12:40)
    > Тоже не согласен с тем, что BeginThread правильный способ, а CreateThread неправильный.
    > Флаг мультипоточности можно и ручками выставить.

    Ну там не только "Флаг мультипоточности", а и еще всякая вячина :)
  • Riply © (24.11.08 12:50) [48]
    >  [47] Riply ©   (24.11.08 12:47)
    > "созает ?"
    Очепятка и смайлик передвинулся :)
  • DVM © (24.11.08 12:54) [49]

    > Riply ©   (24.11.08 12:47) [47]


    > а и еще всякая вячина :)

    ну эта всячина лишь для удобства, но не критична для работы. Критично лишь IsMultiThread, да и то не всегда.
  • Rouse_ © (24.11.08 13:31) [50]
    на восьмом вопросе в базовых свойствах засыпался :)
    Не обратил внимание что I у нас Cardinal :)
  • Ins © (24.11.08 13:33) [51]

    > на восьмом вопросе в базовых свойствах засыпался :)
    > Не обратил внимание что I у нас Cardinal :)


    Да, я тоже :)
  • Германн © (24.11.08 14:56) [52]

    > Rouse_ ©   (24.11.08 13:31) [50]


    > Ins ©   (24.11.08 13:33) [51]

    Редко тут бываете. Вот и засыпались. :)
    Как раз эта тема на ДМ очень часто освещалась.
  • Rouse_ © (24.11.08 15:11) [53]

    > Редко тут бываете.

    Тут это где?
  • Германн © (24.11.08 15:22) [54]

    > Rouse_ ©   (24.11.08 15:11) [53]
    >
    >
    > > Редко тут бываете.
    >
    > Тут это где?
    >

    На ДМ :)
    P,S. Я вот начисто пролетел на вопросах об именах переменных и о положении "точки с запятой". Оба ответа были для меня полным откровением.
  • Rouse_ © (24.11.08 15:44) [55]

    > На ДМ :)

    Звучит для меня как откровение прямо :)
  • Dmitry S © (24.11.08 16:05) [56]
    А я на StrToInt(Edit1.Text); :-[
  • Григорьев Антон © (24.11.08 16:19) [57]
    Прочитал все ваши комментарии, но ответить по существу пока не готов, принимаю их для размышления. Отвечу только на это:

    > Германн ©   (24.11.08 01:25) [37]
    > Даже без очков прекрасно видно откуда у этой Квинтаны растут
    > ноги :)
    > Очевидно ЮЗ решил, что несправедливо будет если "тесты Юрия
    > Зотова" будут доступны только Riply.

    Не угадали, здесь нет никакой связи. Я не видел тесты Юрия Зотова и даже не представляю, что в них, а я - автор всех имеющихся на сегодняшний день вопросов Квинтаны. Если есть сходство, то это - случайное совпадение. Более того, если бы мне попали в руки тесты Юрия, я бы точно не стал их публиковать, потому что знаю, что он против их открытой публикации.
  • clickmaker © (24.11.08 16:22) [58]
    > тесты Юрия, я бы точно не стал их публиковать, потому что
    > знаю, что он против их открытой публикации.

    даже боюсь представить, что там за вопросы...
  • clickmaker © (24.11.08 16:23) [59]
    если по сабжу, то меня просто наповал убил этот вариант ответа :)
    "OnPaint вызывается во время обратного хода луча развёртки монитора, чтобы исключить мерцание"
 
Конференция "Прочее" » Тесты на знание Delphi
Есть новые Нет новых   [134446   +39][b:0][p:0.001]