Текущий архив: 2009.07.26;
Скачать: CL | DM;
Вниз
TMenuItem.Click -> any.dll procedure Найти похожие ветки
← →
Сергей М. © (2009-05-28 08:25) [120]
> над TCP/IP .. и передать информацию .. клиенту
Т.е. твое хост-приложение должно передавать данные рядом находящейся библиотеке с использованием интернет-протокола ?
Это ж надо до такого додуматься) ..
← →
Dennis I. Komarov © (2009-05-28 08:58) [121]
> Т.е. твое хост-приложение должно передавать данные рядом
> находящейся библиотеке с использованием интернет-протокола
> ?
>
> Это ж надо до такого додуматься) ..
Да нет конечно :) И как такое в голову лезет :) Наверное утро :)...
СУБД - Сервер приложений (это не которое загружает библиотеки) - GUI (интерфейс загруженный из библиотеки)
← →
Сергей М. © (2009-05-28 09:37) [122]
> СУБД - Сервер приложений (это не которое загружает библиотеки)
> - GUI (интерфейс загруженный из библиотеки)
>
Что-то я не вижу никакой связи между "кислым", "теплым" и "зеленым")
Если твое хост-приложение знать ничего не знает и знать не желает о происходящем внутри библиотеки, то какая ему разница, как эта самая библиотека получит данные с какого-то там сервера, дабы, например, изобразить эти данные в своем же собственном GUI ?
← →
clickmaker © (2009-05-28 10:05) [123]> СУБД - Сервер приложений (это не которое загружает библиотеки)
> - GUI (интерфейс загруженный из библиотеки)
Сервер приложений - н-р, MIDAS или другая DCOM-подобная технология, которая предоставляет методы для вызова.
Клиент - импортирует библиотеку типов сервера и получает данные в виде TClientDataset в случае MIDAS или просто путем вызова методов сервера. Данные передавать и получать можно с помощью любых OLE-совместимых типов: variant, widestring etc
← →
Dennis I. Komarov © (2009-05-28 10:19) [124]:) Ну неуж-то правда не понятно, или специально? :)))
Но библиотека то должна знать что за индивид загрузил ее...
Тут два варианта:
1. передаем данные аунтификации (а так же всю информацию о СУБД) библиотеке и получаем двузвенную архитектуру.
2. Строим промежуточное звено "Сервер приложений" (МА)
← →
Dennis I. Komarov © (2009-05-28 10:35) [125]
> clickmaker © (28.05.09 10:05) [123]
Как раз ее сейчас штудирую. Интересны реальные подводные камни, надежность и пр. кто уже использовал технологию, поэтому вопрос был:
"каким образом Вы......" Ну еще добавить почему? Чем хорошо\плохо и т.д.
← →
Dennis I. Komarov © (2009-05-28 10:38) [126]C моей точки зрения MIDAS плоха тем, что клиента привязываем к TClientDataSet
← →
Сергей М. © (2009-05-28 11:08) [127]
> библиотека то должна знать что за индивид загрузил ее
Зачем ?
Что полезного УЮ-библиотека поимеет, если будет знать, что она загружена в АП процесса какого-то там заморского VCL-приложения MySuperPuperProga.exe ?)
ТЗ на ходу меняешь-изобретаешь ?)
← →
Сергей М. © (2009-05-28 11:12) [128]
> MIDAS плоха тем, что клиента привязываем к TClientDataSet
Задействование MIDAS не требует обязательного использования CDS.
← →
Dennis I. Komarov © (2009-05-28 11:24) [129]
> Зачем ?
>
> Что полезного УЮ-библиотека поимеет, если будет знать, что
> она загружена в АП процесса какого-то там заморского VCL-
> приложения MySuperPuperProga.exe ?)
>
> ТЗ на ходу меняешь-изобретаешь ?)
И ни капельки я не меняю ТЗ. Индивид - не бла-бла-бла.exe а физическое лицо которое запустило этот ...exe :) со своими правами, а УЮ библиотека что бы подключиться к СУБД должна на ней пройти авторизацию, а авторизироваться из каджого интефейса - это по меньшей мере не удобно для юзверя :) Да и еще не известно умеет ли УЮ вообще работать с этим СУБД
> Задействование MIDAS не требует обязательного использования
> CDS.
Про MIDAS я сейчас читаю, посмотрим...
← →
Сергей М. © (2009-05-28 11:33) [130]
> не известно умеет ли УЮ вообще работать с этим СУБД
>
А тогда нашиша грузить такую УЮ-библиотеку, которая не понимает чего от нее хотят ?)
← →
Dennis I. Komarov © (2009-05-28 11:43) [131]А вот есть интерфейс который успешно работал с MSSQL, ORACLE .... а тут надо внедрить его в систему, которая на битрив работает, а вот УЮ ну не знает что это и как его есть...
Уходим от темы опять???
Обсуждаем трехзвенку, в частности как передать инфу с TDataSet удаленному интерфейсу (не в "формате TDataSet")
MIDAS - первое что пришло - ковыряю его. Какие еще варианты, и отзывы о них...
← →
clickmaker © (2009-05-28 11:46) [132]> со своими правами, а УЮ библиотека что бы подключиться к
> СУБД должна на ней пройти авторизацию
авторизацию может проводить хост-экзе, а в библиотеку передавать уже готовый интерфейс сервера приложений.
← →
Сергей М. © (2009-05-28 11:56) [133]
> УЮ ну не знает что это и как его есть
Так он еще много чего может не знать, не только это)
О MIDAS речь тем более идти не может - это технология и среда, специфичная для сред разработки от Борланд, а УЮ-среда про Борланд ничего не знает.
Зато наверняка знает про OLE, COM, ActiveX, CORBA)
← →
Dennis I. Komarov © (2009-05-28 11:56) [134]
> clickmaker © (28.05.09 11:46) [132]
>
> авторизацию может проводить хост-экзе, а в библиотеку передавать
> уже готовый интерфейс сервера приложений.
Так оно и задумано. Задача обмена инфы [131]
← →
Dennis I. Komarov © (2009-05-28 12:01) [135]
> Сергей М. © (28.05.09 11:56) [133]
> О MIDAS речь тем более идти не может - это технология и
> среда, специфичная для сред разработки от Борланд, а УЮ-
> среда про Борланд ничего не знает.
>
> Зато наверняка знает про OLE, COM, ActiveX, CORBA)
MIDAS не COM?
Тогда вычеркнул из списка :)
> Зато наверняка знает про OLE, COM, ActiveX, CORBA)
Можно подробнее, примеры, хорошо\плохо, чем опасно... и т.д.
← →
Dennis I. Komarov © (2009-05-28 12:15) [136]У меня пока такая мысль:
TDataSet -> некий текстовой формат (к примеру cds, xml) -> упаковали -> передали по TCP/IP -> получили -> распакавали -> преобразовываем в TDataSet (или чего другое, в зависимости от IDE)
← →
Сергей М. © (2009-05-28 12:18) [137]
> MIDAS не COM?
MIDAS основана на COM, но это специфичная надстройка.
← →
clickmaker © (2009-05-28 12:48) [138]> TDataSet -> некий текстовой формат (к примеру cds, xml)
> -> упаковали -> передали по TCP/IP -> получили -> распакавали
> -> преобразовываем в TDataSet
MIDAS именно так и работает.
Данные передаются в своем формате, упакованном в OleVariant. Причем, передаваться могут не все данные, а только изменившаяся на клиенте часть.
← →
Dennis I. Komarov © (2009-05-28 12:57) [139]
> Данные передаются в своем формате, упакованном в OleVariant.
> Причем, передаваться могут не все данные, а только изменившаяся
> на клиенте часть.
формат открытый? Сможет ли приложение написанное скажем на MSVC++ работать с ним? midas.dll для этого будет достаточно?
← →
Сергей М. © (2009-05-28 13:01) [140]
> формат открытый?
Где же он открытый, если за использование midas-модуля денюжку требуют ?)
← →
Dennis I. Komarov © (2009-05-28 13:06) [141]
> Где же он открытый, если за использование midas-модуля денюжку
> требуют ?)
у-у-у....
так это совсем плохо. :)
← →
Сергей М. © (2009-05-28 13:10) [142]
> это совсем плохо
Жаба душит ?)
← →
Dennis I. Komarov © (2009-05-28 13:18) [143]
> Жаба душит ?)
Я даже не знаю какую денюжку они требуют, так что жаба приползет поздже :)
Я тут, понимаешь, велосипед изобрел, а они уже денюжку хочуть :)
← →
Сергей М. © (2009-05-28 13:21) [144]
> Я тут, понимаешь, велосипед изобрел
Не, это ты на чужом хочешь на халявку прокатиться)
← →
Dennis I. Komarov © (2009-05-28 13:33) [145]
> Не, это ты на чужом хочешь на халявку прокатиться)
Ну сперва я его изобрел, потом узнал что он есть, и за него денюжку хотять. А кататься я на нем не буду - жадные они :) Я лучше свой сделаю...
← →
Dennis I. Komarov © (2009-05-28 17:09) [146]Если второй раз выполнить LoadLibrary одной библиотеки, то в памяти будет два экземпляра библиотеки и два различных хендла или второй раз будет "холостым" и вернется тот же хендл?
← →
Сергей М. © (2009-05-28 17:15) [147]
> или второй раз будет "холостым" и вернется тот же хендл?
>
>
Не совсем "холостым", но хендл получишь тот же самый.
← →
Dennis I. Komarov © (2009-05-28 17:26) [148]Понял, т.е. если из одной dll загрузил два окна, то закрывая одно убивать ее не моги :)
← →
Игорь Шевченко © (2009-05-28 17:34) [149]
> Где же он открытый, если за использование midas-модуля денюжку
> требуют ?)
Вроде уже давно не требуют, нет ?
← →
Сергей М. © (2009-05-28 17:36) [150]Убивать - да, "не моги")
Но FreeLibrary приводит к "убийству" лишь тогда, когда она вызвана ровно столько раз, сколько раз перед этим была вызвана соответствующая ей LoadLibrary.
Иными словами, каждый вызов LoadLibrary приводит к увеличению сч-ка ссылок на модуль на единицу (т.е. впервые загруженная этим вызовом библ-ка имеет значение сч-ка = 1), каждый вызов FreeLibrary - соотв-но к уменьшению оного на единицу. Как только в рез-те очередного вызова FreeLibrary сч-к ссылок обнуляется, система выгружает модуль из АП тек.процесса.
← →
Dennis I. Komarov © (2009-05-28 17:39) [151]
> Сергей М. © (28.05.09 17:36) [150]
:) Отлично, а то я уже собрался сам считать
← →
Сергей М. © (2009-05-28 20:52) [152]
> а то я уже собрался сам считать
Не, новых кулибиных нам не надо)
Страницы: 1 2 3 4 вся ветка
Текущий архив: 2009.07.26;
Скачать: CL | DM;
Память: 0.8 MB
Время: 0.023 c