пятница, 12 апреля 2013 г.

Кросс-платформенные библиотеки

Перевод раздела Cross-Platform Shared Libraries из справочной системы Delphi

Совместное использование библиотек в приложениях Mac OS X

При разработке кросс-платформенных библиотек в Delphi, необходимо изучить некоторые требования, налагаемые платформами. В особенности это касается функций в библиотеках для OS X, которые необходимо вызывать и загружать динамически. Необходимо помнить, что:

  • Имена динамически загружаемых функций должны начинаться с нижнего подчеркивания ('_').
  • Инструкции exports должны быть перемещены из файлов .dpr в файлы .pas.

Эти два правила разъясняются далее.

Пакеты

Перевод раздела Packages (Delphi) из справочной системы Delphi

Пакеты обычно являются наиболее предпочтительным способом для экспорта, когда речь идет о чем-то более сложном, нежели функции и процедуры. Библиотеки следует использовать только в тех случаях, когда требуется обеспечить совместимость на уровне приложений.

Разработка динамически загружаемых библиотек

Перевод раздела Writing Dynamically Loaded Libraries из справочной системы Delphi

Замечание: Библиотеки в части экспорта ограничены значительно больше, чем пакеты. Библиотеки не могут экспортировать константы типы и обычные переменные. То есть класс, объявленный в библиотеке, не может быть виден в программе, которая ее использует.

Для экспорта всего, что не является процедурой или функцией, рекомендуется применять пакеты. Библиотеки следует рассматривать только в том случае, если необходима совместимость с другими программами.

Библиотеки и пакеты

Перевод раздела Libraries and Packages (Delphi) из справочной системы Delphi

Динамически загружаемые библиотеки – это библиотеки динамического связывания (dynamic-link library (DLL)) под Windows или DYLIB на Mac. Они представляют собой подборку подпрограмм, которые могут вызываться приложениями или другими библиотеками. Как и модули, динамически загружаемые библиотеки содержат программный код или ресурсы, предназначенные для совместного использования. Однако этот тип библиотеки компилируется отдельно и связывается с использующей его программой во время ее выполнения.

Программы, написанные на Delphi, могут вызывать DLL и сборки, написанные на других языках, и приложения, написанные на других языках, могут вызывать DLL или сборки, разработанные в Delphi.

понедельник, 25 марта 2013 г.

Ввод/вывод. Стандартные подпрограммы

Перевод раздела Standard Routines and Input-Output из справочной системы Delphi


В этой теме обсуждается текстовый и файловый ввод/вывод, приводится обзор списка функций стандартных библиотек. Большая часть перечисленных здесь процедур и функций объявлена в модулях System и SysInit, которые автоматически подключаются во всех приложениях. Другие функции встроены в компилятор и обрабатываются так, как будто они присутствуют в модуле System.

Некоторые стандартные подпрограммы включены в такие модули как SysUtils, и для доступа к ним из ваших программ необходимо включить имена модулей в раздел uses. Вы не должны ни включать модуль System в раздел uses, ни изменять его программный код или пытаться перекомпилировать его.

суббота, 19 мая 2012 г.

Перегрузка операторов

Перевод раздела Operator Overloading из справочной системы Delphi

О перегрузке операторов

Delphi для Win32 разрешает перегрузку некоторых функций или "операторов" внутри объявления записей. Имя функции оператора сопоставляется в программном коде с его символьным представлением. Например, оператор Add сопоставляется с символом + . Компилятор генерирует вызов соответствующего перегружаемого оператора, сопоставляя контекст (то есть возвращаемый тип и тип параметров, использованных при вызове) с сигнатурой функции оператора.

Вложенные типы

Перевод раздела Nested Type Declarations из справочной системы Delphi

Объявление вложенных типов

Объявления типов могут быть вложены в объявление класса. Вложенные типы часто используются в объектно-ориентированном программировании. Они дают возможность не разделять концептуально связанные типы и избежать конфликтов имен. Синтаксис объявления вложенных типов может быть использован и при работе с компилятором Delphi для Win32.