Следующая статья: Сохранение в таблице файлов формата JPEG.
Это простейшая DLL, экспортирующая единственную функцию. Вызывающий ее оператор передает функции значение ключа и строку со значением. Функция открывает демонстрационную базу данных BIOLIFE, находит по ключу запись и добавляет строку после всех записей в поле Notes:
library Mydll;
uses DBTables;
function Modify(Key: Double; const Info: String): Boolean;
export;
var Table: TTable;
Stream: TBlobStream;
begin
Table:=TTable.Create(nil);
Table.DatabaseName :='D:\';
Table.TableName :='BIOLIFE';
Table.TableType:=ttParadox;
Table.Open;
if Table.FindKey([Key]) then begin Result:=True;
Table.Edit;
Stream:=TBlobStream.Create(TMemoField(Table.FieldByName('Notes')), bmReadWrite);
Stream.Seek(0, 2);
Stream.Write(Info[1], Length(Info));
Stream.Free;
Table.Post;
end
else
Result:=False;
Table.Free;
end;
exports Modify;
begin …
end.
Пример вызова из приложения:
function Modify(Key: Double; const Info: String): Boolean; far; external'MYDLL'; … Modify(90200,'Васек Трубачев');