Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС
выпущен 4 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



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

Автор: Steve Schafer

Это простейший 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, 'Васек Трубачев');
 

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

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




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS