Сухарев М. В. Основы Delphi. Профессиональный подход От издателя Эта книга является превосходным учебным пособием, дающим наиболее полное и системное понимание основополагающих механизмов Delphi. Цель книги - помочь программистам, начинающим работать с Delphi, сделать первый шаг в ее изучении так, чтобы не возвращаться к пройденному материалу в дальнейшем для углубления знаний. В то же время книга будет интересна и опытным программистам, благодаря своему обобщенному изложению. Основная часть материала описывает фундаментальные основы Delphi, структуру компонентов и правила их использования.
Для включения данного механизма следует установить значение . Для этого в описании класса . Если потоковый объект создается в приостановленном состоянии, то устано вить значение можно в вызывающем фрагменте сразу же после создания. Поток создается в приостановленном . Взаимодействие приложения с операционной системой . Получение результата работы потока Если поток создается с целью получения какого либо результата, то сле дует предусмотреть механизм его возврата в приложение, создавшее по ток. Для этого можно использовать несколько различных подходов, каж дый из которых обладает своими особенностями. В нашем примере в качестве последней команды метода . Ссылка на форму может быть получена с помощью пере менной модуля . Таким образом, корректное изме нение свойств визуальных компонентов возможно только из того пото ка, который ими владеет, то есть из основного. Для того чтобы выпол нить какой либо метод потокового объекта из основного потока для получения доступа к визуальным компонентам, в классе пре дусмотрен метод . Метод, который должен выполнен, передается по имени, является элементом экземпляра клас са, и не имеет параметров. приложения с операционной системой . В обра ботчике доступны свойства потокового объекта, в которых и должны храниться результаты работы потока. Так как обработчик события . Сочетание этих двух свойств обработчика . Использование дополнительных событий Если поток должен взаимодействовать с другим потоком для передачи ему текущих данных, то использование обработчика события . Однако потоковый класс полностью реализуется разработчиком программного продукта, который добавить в него собственные события. Модифицируем наш пример таким образом, чтобы при расчете очеред ного значения вызывался обработчик дополнительного события . Для этого в классе . В качестве типа данного свойства использу ем стандартный тип для простых обработчиков . Соответственно, такой метод взаимодей ствия потока и создавшего его приложения не рекомендуется. Еще одна при чина, которая заставляет отказываться от использования глобальных переменных несколькими модулями одновременно . Несколько потоков выполняются параллельно, причем, в какой момент поток потеряет уп равление, неизвестно. Соответственно, при длительном формировании данных, которые должны быть между собой, появляется вероятность того, что сформирована только часть данных, согласованность между ними на время потеряна, а формирующий поток потерял управ ление, и к данным обращается поток, использующий их. Таким образом, использующий поток получает некорректные данные. Взаимодействие приложения с операционной системой Решение описанной проблемы возможно с помощью применения мето дов синхронизации потоков, однако проще отказаться от передачи дан ных через глобальные переменные вообще. Приоритеты потоков Для указания приоритетов потоков используется свойство . Приоритеты потоков Таблица . Передача управления потоку с таким приоритетом не может прервать выполнения других потоков Поток имеет приоритет существенно ниже среднего Поток имеет приоритет ниже среднего Поток имеет нормальный приоритет Поток имеет приоритет выше среднего Поток имеет приоритет существенно выше среднего Поток является наиболее приоритетным Свойство . Вопросы с ответами для повторения по части . Дайте определение динамически компонуемой библиотеки и рас скажите о возможных мотивах применения . При использовании динамических библиотек их наличие обязательно для нормального функционирования приложений, которые на них ссылаются. Динамические библиотеки помогают решать задачи разделения одних и тех же фрагментов кода между различными приложениями, снижая тем самым объем памяти, необходимый для хранения приложений и их загрузки. В качестве еще одного достоинства динамических библиотек можно назвать возможность скрытия реализации подпрограмм, включаемых в библиоте ку, при передаче их сторонним разработчикам. Расскажите про использование . Неявное связывание подразумевает указание названия динамической биб лиотеки при описании метода, в результате чего, вся функциональность, необходимая для получения адреса метода будет добавлена в программу автоматически при компиляции. Это не отменяет требования к наличию динамической библиотеки в области видимости программного продукта, использующего неявное связывание. Взаимодействие приложения с операционной системой Применение неявного связывания целесообразно в случаях интенсивного использования динамической библиотеки в течение всего времени рабо ты приложения, в остальных случаях рекомендуется применение явного связывания. , Расскажите про многопоточные приложения Ответ. Для создания потока следует реализовать класс наследник . Далее, со здавшая поток программа может управлять им, приостанавливая и возоб новляя его работу, а также завершая его в случае необходимости. При окончании выполнения метода . Расскажите об особенностях модели СОМ Ответ. Механизм работы СОМ построен на использовании объектных интерфей сов, и каждый СОМ объект поддерживает как минимум один интерфейс . могут применяться как в составе программного продукта . Связывание методов, которые предоставляет СОМ объект, с вызывающей программой может быть реализовано двумя путя ми . Для вывода информа ции используется принтер, установленный в системе по умолчанию, одна . Некоторые стандартные компоненты . Второй подход к выводу информации за пределы программы подразуме вает использование . Данные сер вера автоматизации имеют иерархическую объектную структуру, в которой объект верхнего уровня владеет несколькими объектами более низкого уровня. Объекты реализованы таким образом, что отображают некоторый атрибут документа или приложения, и имеют методы для изменения со стояния данного атрибута. Профессиональный подход . Понятие компонента Компонентом в . В этом случае, в результирующий программный продукт автоматически добавляется функциональность, необходимая для создания компонента во время выполнения програм мы, обращения к нему, и разрушения.