Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Указателт на DataSet (DataSource)


Автор: eof 2.7.2003, 12:08
на форме есть источник данных (TClientDataSet) и грид. Диалоги для работы с гридом (добавление, редактирование и т.п.) описаны в dllлях. Передаю указатель на источник данных в dll. Все работает великолепно (контролы на формах дллелей отображают содержимое полей источника, можно редактировать, короче все класно), но... если не использовать TDbGrid или DBLookupListBox и т.п с этим источником.
Можно както добиться нормальной работы этих компонентов?
Очень не хочеться передавать TClientDataSet.Data в длл.

Автор: Medved 2.7.2003, 14:38
Цитата
короче все класно), но... если не использовать TDbGrid или DBLookupListBox и т.п с этим источником.
Можно както добиться нормальной работы этих компонентов?


А в чем именно выражены ошибки?


Автор: eof 2.7.2003, 14:42
поначалу, все хорошо, но при попытке изменить размеры или прокрутить все падает. в основном Access Violetion, но вобщето ошибок много и они разные... я заметил что грид не может себя отрисовать.

Автор: Medved 3.7.2003, 19:43
Цитата
поначалу, все хорошо, но при попытке изменить размеры или прокрутить все падает. в основном Access Violetion, но вобщето ошибок много и они разные... я заметил что грид не может себя отрисовать.


Хм, надо поэксперементировать. В свое время, у меня вставал такой же вопрос, только о передаче в VB-шную dll. Времени было мало, поэтому пошел по пути наименьшего сопротивления - передавал в dll массив ID-шников.

Автор: Fantasist 3.7.2003, 23:37
http://forum.vingrad.ru/index.php?act=ST&f=2&t=10297


См. последний постинг. Проблема может быть в этом.

Автор: eof 7.7.2003, 09:09
Fantasist, спасибо, я это читал. Вполне возможно.
Однако, еще раз вопрос:
Можно ли обойтись без копирования данных в длл (накладно по ресурсам) передачей указателя на данные (не на экземпляр класса, а именно на данные). Я посмотрел исходники TClientDataSet и ... не понял можно ли это сделать. Не знаю как работает midas.dll. Может ктото решал аналогичные проблемы (хоть с какими нибудь DataSetами)?

Автор: Fantasist 7.7.2003, 17:12
Без кода вообще-то тяжело судить, в чем проблема. Однако попробуй скомпилировать с run-time package (и dll и ехе), дабы VCL динамически подгружалась.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)