Описание модуля данных в dll? - PullRequest
1 голос
/ 17 июля 2009

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

Моя концепция

Модуль данных создан в DLL, и я вставляю компоненты ADO в модуль данных. Этот модуль данных используется в другой форме. Я создал сетку БД в форме, но это не так показать записи в дБ сетке. Я компилирую его, но получаю ошибку ниже.

Я очень благодарен за решение моей проблемы ... Мой английский не очень хорош, но вы пытаетесь понять ........

Ответы [ 3 ]

1 голос
/ 19 июля 2009

TDataModule похож на форму, но его цель - быть формой контейнера и невидима для конечного пользователя. Хотя вы можете создать TDataModule в DLL, это не так. TDataModules существуют для того, чтобы упростить ваше взаимодействие со всем приложением. Не усложняй это !!

ИМХО, не создавайте модули данных в dll.

Из вашего описания я думаю, что вам нужен центральный модуль, похожий на хранилище данных, который отделен от приложения, взаимодействующего с пользователем. Может быть, есть более одного пользователя. Если это так , попробуйте клиент-серверный подход .

0 голосов
/ 18 июля 2009

Основное различие между использованием dll и пакетов заключается в модели разделяемой памяти.

Вы можете просто поместить dbconnection в пакет. модуль данных в другом. И самое главное, вы можете загружать и выгружать их по своему усмотрению. Тогда у вас есть доступ к этим элементам по единице использования.

0 голосов
/ 17 июля 2009

Насколько я знаю, приложение GUI не может напрямую использовать компоненты набора данных в DLL.

Возможно, вам лучше заблокировать пакеты, которые более дружественны к объектам Delphi. Я не пробовал этого, поэтому я не могу дать много советов.

Или вы могли бы сделать так, чтобы ваша DLL передавала обратно набор данных, который вы поместили в TClientDataset в вашем приложении с графическим интерфейсом.

...