1 / 1 / 0
Регистрация: 13.09.2012
Сообщений: 29
|
||||||
1 | ||||||
клиент на VS++ 2010 сервер на RAD Studio C++Builder19.11.2012, 13:39. Показов 4487. Ответов 30
Метки нет (Все метки)
Пытаюсь осуществить работу автоматизации между сервером, написанным на RAD Studio ХЕ C++Builder, и клиентом, написанным на VS++ 2010.
Сервер, "MyApp.exe", зарегистрировался в реестре. Имеет один метод "TestMethod1()", его хочу запустить из клиента. В клиенте делаю:
Надо ли добавлять #include "MyApp_TLB.h" (это сгенерировал C++Builder), что бы знать методы сервера?. Пробовал это сделать, но по цепочке требуется добавлять еще кучу include *.h. Этот "MyApp_TLB.h" файл, я так понимаю, нужен для определения интерфейса моего сервера и его свойств и методов. А без указания этого файла нельзя обойтись? Просмотрел кучу инфы в инете по COM, но в голове уже каша. В основном приводятся примеры, где и клиент и сервер в VC++. В общем, прошу помощи.
0
|
19.11.2012, 13:39 | |
Ответы с готовыми решениями:
30
С++ Builder Клиент-Сервер, RAD Studio XE5 Компоненты из Builder 6 в RAD Studio 2010 Установка библ. RxLib на RAD Studio 2010 (C++ Builder) Визуалка в Builder 2010 RAD Studio XE2, простенький блокнотик |
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,413
|
|
22.11.2012, 16:43 | 21 |
0
|
1 / 1 / 0
Регистрация: 13.09.2012
Сообщений: 29
|
|
22.11.2012, 16:43 [ТС] | 22 |
vxg, а ты не пробовал передавать в процедуру параметр своего типа? Возможно вообще такое?
0
|
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,413
|
|
22.11.2012, 16:44 | 23 |
не пробовал. но по идее все должно работать при наличии TLB
0
|
1 / 1 / 0
Регистрация: 13.09.2012
Сообщений: 29
|
|
22.11.2012, 16:45 [ТС] | 24 |
я сервер пишу в borlande. там за это отвечает специальный мастер. TLB компилируется вместе с проектом
0
|
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,413
|
|
22.11.2012, 16:48 | 25 |
я тоже на BC++ пишу, однако не использую мастера. пришлось собирать TLB по IDL файлу при помощи MIDL который выдернул из VC98
0
|
1 / 1 / 0
Регистрация: 13.09.2012
Сообщений: 29
|
|
22.11.2012, 16:49 [ТС] | 26 |
Я тоже думаю, что можно.
Я хочу передать параметр типа мой класс. Попробовал передать, как int в котором записан указатель на объект класса. Но не прокатило.
0
|
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,413
|
|
22.11.2012, 16:53 | 27 |
не, так не прокатит, оно же маршаллировать должно
Добавлено через 1 минуту вроде как можно передать структуру содержащую стандартные типы поддерживаемые COM в число которых входит в том числе указатель на интерфейс - то есть можно передавать указатель на объект из вашей программы другой Добавлено через 51 секунду а полноценный класс думаю без самостоятельного погружения в маршаллинг (если дорожите психикой не делайте этого) не передать. Добавлено через 54 секунды под полноценным имеется ввиду виртуальные функции, указатели и все такое.
0
|
1 / 1 / 0
Регистрация: 13.09.2012
Сообщений: 29
|
|
22.11.2012, 16:53 [ТС] | 28 |
0
|
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,413
|
|
22.11.2012, 16:55 | 29 |
на опыте - передавал именно только структуры из поддерживаемых COM типов. да, в эти типы входит и массив поддерживаемых элементов. только его нужно выделять и освобождать специальными функциями разделяющими память.
0
|
1 / 1 / 0
Регистрация: 13.09.2012
Сообщений: 29
|
|
22.11.2012, 16:58 [ТС] | 30 |
контейнеры (vector, map) com не поддерживает?
0
|
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,413
|
||||||||||||||||||||||||||
22.11.2012, 17:03 | 31 | |||||||||||||||||||||||||
отправляем
нет - это же ммм полноценные классы) Добавлено через 2 минуты ...если в структуру вложены динамически выделенные данные они должны выделяться и уничтожаться аналогично - все что динамическое нужно через эти функции тащить Добавлено через 48 секунд если уж надо объект предать наверное проще сделать его тоже COM Добавлено через 1 минуту ...и передать указатель на него
1
|
22.11.2012, 17:03 | |
22.11.2012, 17:03 | |
Помогаю со студенческими работами здесь
31
Работа с объектами в C++ Builder 2010 (RAD 2010) Delphi 2010 (RAD Studio 2010) критическая область Какой компилятор C++ Builder использовать? Rad Studio 2009 глючит. C++ Builder 6 старый Visual Studio 2015 или Embarcadero RAD Studio 10.1 Berlin (C++ Builder) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |