Конференция "Прочее" » Как в Dll работать с набором данных ?
 
  • desc (16.09.08 14:59) [0]
    Windows XP Professional, Delphi 7, MS SQL Server 2005

    Как в Dll работать с набором данных ? Нужно реализовать форму карточку в программе, ну хотелось бы реализовать плагином dll… Что нужно передавать в адресное пространство dll, набор данных или указатель на него или указатель на соединение ?...

    Спасибо.
  • Правильный$Вася (16.09.08 15:09) [1]
    ничего не понятно
    используй bpl
  • Vlad Oshin © (16.09.08 15:15) [2]

    > указатель на соединение

    так делаю

    +

    > используй bpl
  • DrPass © (16.09.08 15:16) [3]

    > используй bpl

    +1


    > Нужно реализовать форму карточку в программе, ну хотелось
    > бы реализовать плагином dll

    Крайне неудачная идея
  • Правильный$Вася (16.09.08 15:26) [4]
    если карточка - элемент основной функциональности, то плагин тут как зайцу пятая нога
  • MsGuns © (16.09.08 16:05) [5]
    Насколько я понимаю, плагины используются как достаточно автономные прибамбасы к интерфейсам, часто нифига не знающие о функционале того окна, к которому прицепляются
  • clickmaker © (16.09.08 16:40) [6]
    > Что нужно передавать в адресное пространство dll

    и плагин и экзе на дельфи?
  • Труп Васи Доброго © (16.09.08 16:55) [7]

    > если карточка - элемент основной функциональности, то плагин
    > тут как зайцу пятая нога

    Ну не согласен. Я вот тоже так делал, данные об элементах сети вносились в карточку, вызываемую из DLL. Это надо было потому, что эти данные нужно было вносить из разных приложений. Так нафига было этот процесс дублировать в каждой программе?
  • Правильный$Вася (16.09.08 17:01) [8]

    > Это надо было потому, что эти данные нужно было вносить
    > из разных приложений.

    тогда это не плагин вовсе
    по крайней мере в моем понимании
  • desc (17.09.08 09:08) [9]

    > clickmaker ©   (16.09.08 16:40) [6]
    > > Что нужно передавать в адресное пространство dll
    >
    > и плагин и экзе на дельфи?

    да на delphi
  • Труп Васи Доброго © (17.09.08 09:13) [10]
    Да, это можно делать в DLL на Дельфи ибо я так делал и работало замечательно. По крайней мере с Жар-птицей работало.
  • desc (17.09.08 09:19) [11]
    Еще хотел сделать универсальную форму справочник, и использовать ее в различных программах, потому и остановился именно на dll а не на bpl...
  • tesseract © (17.09.08 10:20) [12]

    > desc   (17.09.08 09:19) [11]


    ActiveX + ISpecifyPropertyPage
  • KSergey © (17.09.08 10:39) [13]
    > desc   (17.09.08 09:19) [11]
    > ее в различных программах, потому и остановился именно на
    > dll а не на bpl...

    А обоснование есть этого выбора? А на сколько различны эти "различные программы"? Все на дельфи или есть на других языках?

    Если нужна супер-пупер универсальная и именно и только DLL - то вариант только один: она должна уметь самостоятельно коннектиться к требуемой БД и совершать с ней все требуемые операции. И лишь одна экспортируемая функция Start(), в которую передать логин/пароль. Только есть подозрение, что это не правильная затея.
    К стати, никто не запрещает к 2 проектам подключить одни и те же (буквально) файлы с формой. Т.е. у двух (и более) проектов будет использоваться один и тот же файл исходных текстов, что, поанятно, выдвигает некоторые требования к общности того, на что данная форма(ы) буде(у)т ссылаться в разных проектах. Но мне такой вариант ге-то даже видится более предпочтительным и простым.
  • tesseract © (17.09.08 10:49) [14]

    > Если нужна супер-пупер универсальная и именно и только DLL
    > - то вариант только один:


    Вариантов тьма. COM или например собственная отрисовка данных через запрос структуры по ODBC.
  • KSergey © (17.09.08 10:55) [15]
    > tesseract ©   (17.09.08 10:49) [14]
    > Вариантов тьма. COM или например собственная отрисовка данных
    > через запрос структуры по ODBC.

    Извратиться по части технологий взаимодействия можно очень по разному, понятно. Равно как и интерфейс супер развесистый этого "плагина" замудрячить тоже.
    Только зачем?
  • desc (17.09.08 11:01) [16]
    Вопрос не в ветку, но всеже: Когда я загружаю dll (LoadLibrary), то получаю Handle на эту dll, т.е. я могу посмотреть его: ShowMessage(IntToStr(FDLL)), где FDLL это Handle моей загруженной dll, а как из сомой длл получить этот Handle, т.е. где я его могу видеть, это будет Handle, Self.Handle, Application.Handle, или же что-то другое ?...
  • Труп Васи Доброго © (17.09.08 11:05) [17]

    > Если нужна супер-пупер универсальная и именно и только DLL
    > - то вариант только один: она должна уметь самостоятельно
    > коннектиться к требуемой БД и совершать с ней все требуемые
    > операции.

    Во во во!!! Именно так у меня и было сделано. Ей при вызове передавалась строка коннекта и... вроде бы всё.
  • clickmaker © (17.09.08 11:05) [18]
    > [16] desc   (17.09.08 11:01)

    GetModuleHandle(PathToDll)
  • KSergey © (17.09.08 11:19) [19]
    > clickmaker ©   (17.09.08 11:05) [18]

    GetModuleHandle(nil) исли из dll-ки же и получаем (если не вру, читать хел лень).
 
Конференция "Прочее" » Как в Dll работать с набором данных ?
Есть новые Нет новых   [134442   +14][b:0][p:0.001]