Структура UDR
Мы будем описывать структуру UDR на языке Pascal. Для объясненияминимальной структуры для построения UDR будем использовать стандартныепримеры из examples/udr/
переведённых на Pascal.
Создайте новый проект динамической библиотеки, который назовёмMyUdr. В результате у вас должен получиться файл MyUdr.dpr
(если высоздавали проект в Delphi) или файл MyUdr.lpr
(если вы создали проектв Lazarus). Теперь изменим главный файл проекта так, чтобы он выгляделследующим образом:
library MyUdr;
{$IFDEF FPC}
{$MODE DELPHI}{$H+}
{$ENDIF}
uses
{$IFDEF unix}
cthreads,
// the c memory manager is on some systems much faster for multi-threading
cmem,
{$ENDIF}
UdrInit in 'UdrInit.pas',
SumArgsFunc in 'SumArgsFunc.pas';
exports firebird_udr_plugin;
end.
В данном случае необходимо экспортировать всего одну функциюfirebird_udr_plugin
, которая является точкой входа для плагина внешнихмодулей UDR. Реализация этой функции будет находиться в модуле UdrInit
.
Note
|
Замечание
Если вы разрабатываете вашу UDR в Free Pascal, то вам потребуютсядополнительные директивы. Директива Директива Кроме того, нам потребуется подключить отдельные модули для поддержкимногопоточности в Linux и других Unix-подобных операционных системах. |