Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Реализация DLL [D5]


Cranium ©   (2003-01-08 01:09:00) 

Нужен пример кода реализующей следующее, в исполняемом файле дата модуль с DataSource в DLL дочерняя форма с гридом сваязанная с выше упомянутым DataSource... Если у кого есть похожий пример или ссылка на оный просьба поделиться....


asmith   (2003-01-09 20:01:00) [1]

Делаем примерно так:
1. в исполняемом файле дата модуль с набором данных и с соединенным с ним TDataSource с именем, например, MyDS
2. программа запускается, загружает DLL, запускает форму из нее, открывает набор данных
3. далее программа инициализирует данные-вызывает некую процедуру из DLL, передавая в нее ссылку на TDataSource
type
TInitData = procedure(ds : TDataSource); stdcall;
...
var
InitData: TInitData;
...
InitData := GetProcAddress(FHLib, "InitData");
if Assigned(InitData) then
InitData(MyDS);
4. в DLL содержится описание этой функции
exports
..., InitData;
и ее тело
procedure InitData(ds : TDataSource); stdcall; export;
begin
MyDLLForm.DBGrid1.DataSource := ds;
end;
ИМНО лучше делать чуть сложнее - завести в DLL собственный модуль данных и при ее загрузке инициализировать его активным соединением с источником данных (передать TDatabase.Handle при работе через BDE или TADOConnection.ConnectionObject для ADO).



Cranium   (2003-01-09 09:34:00) [2]

Очень жаль, что ни у кого нет примера исходника....


cranium   (2003-01-08 21:40:00) [3]

Что, ни кто не вкурсе?


Наверх

Титульная страница Поиск, карта сайта Написать письмо