-
Windows XP Professional, Delphi 7, MS SQL Server 2005
Как в Dll работать с набором данных ? Нужно реализовать форму карточку в программе, ну хотелось бы реализовать плагином dll… Что нужно передавать в адресное пространство dll, набор данных или указатель на него или указатель на соединение ?...
Спасибо.
-
ничего не понятно
используй bpl
-
> указатель на соединение
так делаю
+
> используй bpl
-
> используй bpl
+1
> Нужно реализовать форму карточку в программе, ну хотелось
> бы реализовать плагином dll
Крайне неудачная идея
-
если карточка - элемент основной функциональности, то плагин тут как зайцу пятая нога
-
Насколько я понимаю, плагины используются как достаточно автономные прибамбасы к интерфейсам, часто нифига не знающие о функционале того окна, к которому прицепляются
-
> Что нужно передавать в адресное пространство dll
и плагин и экзе на дельфи?
-
> если карточка - элемент основной функциональности, то плагин
> тут как зайцу пятая нога
Ну не согласен. Я вот тоже так делал, данные об элементах сети вносились в карточку, вызываемую из DLL. Это надо было потому, что эти данные нужно было вносить из разных приложений. Так нафига было этот процесс дублировать в каждой программе?
-
> Это надо было потому, что эти данные нужно было вносить
> из разных приложений.
тогда это не плагин вовсе
по крайней мере в моем понимании
-
> clickmaker © (16.09.08 16:40) [6]
> > Что нужно передавать в адресное пространство dll
>
> и плагин и экзе на дельфи?
да на delphi
-
Да, это можно делать в DLL на Дельфи ибо я так делал и работало замечательно. По крайней мере с Жар-птицей работало.
-
Еще хотел сделать универсальную форму справочник, и использовать ее в различных программах, потому и остановился именно на dll а не на bpl...
-
> desc (17.09.08 09:19) [11]
ActiveX + ISpecifyPropertyPage
-
> desc (17.09.08 09:19) [11]
> ее в различных программах, потому и остановился именно на
> dll а не на bpl...
А обоснование есть этого выбора? А на сколько различны эти "различные программы"? Все на дельфи или есть на других языках?
Если нужна супер-пупер универсальная и именно и только DLL - то вариант только один: она должна уметь самостоятельно коннектиться к требуемой БД и совершать с ней все требуемые операции. И лишь одна экспортируемая функция Start(), в которую передать логин/пароль. Только есть подозрение, что это не правильная затея.
К стати, никто не запрещает к 2 проектам подключить одни и те же (буквально) файлы с формой. Т.е. у двух (и более) проектов будет использоваться один и тот же файл исходных текстов, что, поанятно, выдвигает некоторые требования к общности того, на что данная форма(ы) буде(у)т ссылаться в разных проектах. Но мне такой вариант ге-то даже видится более предпочтительным и простым.
-
> Если нужна супер-пупер универсальная и именно и только DLL
> - то вариант только один:
Вариантов тьма. COM или например собственная отрисовка данных через запрос структуры по ODBC.
-
> tesseract © (17.09.08 10:49) [14]
> Вариантов тьма. COM или например собственная отрисовка данных
> через запрос структуры по ODBC.
Извратиться по части технологий взаимодействия можно очень по разному, понятно. Равно как и интерфейс супер развесистый этого "плагина" замудрячить тоже.
Только зачем?
-
Вопрос не в ветку, но всеже: Когда я загружаю dll (LoadLibrary), то получаю Handle на эту dll, т.е. я могу посмотреть его: ShowMessage(IntToStr(FDLL)), где FDLL это Handle моей загруженной dll, а как из сомой длл получить этот Handle, т.е. где я его могу видеть, это будет Handle, Self.Handle, Application.Handle, или же что-то другое ?...
-
> Если нужна супер-пупер универсальная и именно и только DLL
> - то вариант только один: она должна уметь самостоятельно
> коннектиться к требуемой БД и совершать с ней все требуемые
> операции.
Во во во!!! Именно так у меня и было сделано. Ей при вызове передавалась строка коннекта и... вроде бы всё.
-
> [16] desc (17.09.08 11:01)
GetModuleHandle(PathToDll)
-
> clickmaker © (17.09.08 11:05) [18]
GetModuleHandle(nil) исли из dll-ки же и получаем (если не вру, читать хел лень).