Советы по Delphi

       

Простой пример работы с базой данных из DLL


Это простейший DLL, экспортирующий единственную функцию. Вызывающий ее оператор передает функции значение ключа и строку со значением. Функция открывает демонстрационную базу данных BIOLIFE, находит по ключу запись и добавляет строку после всех записей в поле Notes:

library Mydll;
usesDBTables;
function Modify(Key: Double; const Info: String): Boolean; export;varTable: TTable;Stream: TBlobStream;beginTable := TTable.Create(nil);Table.DatabaseName := 'D:\';Table.TableName := 'BIOLIFE';Table.TableType := ttParadox;Table.Open;if Table.FindKey([Key]) thenbeginResult := 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;endelse Result := False;Table.Free;end;
exportsModify;
beginend.

Вот как это можно вызвать из приложения:

function Modify(Key: Double; const Info: String): Boolean; far;external 'MYDLL';
...
Modify(90200, 'Васек Трубачев');

и это классно работает.

Поскольку в DLL вы используете BDE, изучите текущие замечания относительно его использования в файле README.TXT.

- Steve Schafer [000789]



Содержание раздела