Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
6-1205170549
Новичек
2008-03-10 20:35
2009.07.26
Обработка информации от нескольких сокетов.


15-1242757296
Кто б сомневался
2009-05-19 22:21
2009.07.26
Как узнать что отменили перезагрузка в чужой программе


11-1203566557
Jon
2008-02-21 07:02
2009.07.26
Error with CxKOLTiffJpg


11-1204046814
andreil
2008-02-26 20:26
2009.07.26
Как быстро сравнить два файла?


2-1243667222
Иван
2009-05-30 11:07
2009.07.26
Многострочный текст в константах