![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Ham |
|
|||
|
Unregistered |
Доброго вам времени суток!
У меня есть интерфейсный модуль к ком серверу ( dll ) написанный на delphi:
помогите переделать под С, CBilder |
|||
|
||||
| Ham |
|
|||
|
Unregistered |
Просто, срочно необходимо!
|
|||
|
||||
| TaTaP |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 15.10.2002 Репутация: 1 Всего: 1 |
В С++ интерфейс - это абстрактный класс, у которого все функции - чисто виртуальные. Для того, чтобы связать интерфейс с GUID, то надо использовать IDL...
|
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
На C++Builder 6 это будет выглядеть примерно так
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| Ham |
|
|||
|
Unregistered |
Поясните пожалуйста, как это понимать! |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
IDL- Interface Definition Language (Язык описания интерфейсов). Создан специально, чтоб описывать интерфейсы COM на переносимом языке, обычно описание структуру и GUID интерфейсов храниться в этом файле.
|
|||
|
||||
| Zigurds |
|
|||
|
Unregistered |
Ti mozjes zaimportirtovatj etot dll v C++ Builder, on sgjenjerirujet praviljnoje opsianjie interfeisov v header failje.
пользуйтесь транслитом Ти мозэс заимпортиртоватж етот длл в Ц++ Буилдер, он сгэнэрируэт правилжноэ опсианжие интерфеисов в хеадер фаилэ. |
|||
|
||||
| Ham |
|
|||
|
Unregistered |
А кто скажет как на VC переделать?
|
|||
|
||||
| Ham |
|
|||
|
Unregistered |
Прошу прощения! Я имел ввиду где можно взять инфу по IDL и пример какой нибудь к ниму!
|
|||
|
||||
| TaTaP |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 15.10.2002 Репутация: 1 Всего: 1 |
Вверху форума есть специальный раздел по литературе. Заходишь, выбираешь сайт, ищешь книги по COM/ActiveX и читаешь ВСЮ книгу (желательно 2-3 раза, т.к. с первого раза много непонятно). Потом приходишь на этот форум и уже сам отвечаешь на подобные вопросы...
|
|||
|
||||
| Ham |
|
|||
|
Unregistered |
Хм. Я наверное буду очень крутым! Я перекопал кучу инфы по ком объектам! Но нигде ни слова не сказано про VC или IDL! |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Не там копал. Про VC особо и искать не нужно: заходишь на сайт с компьютерной тематикой - почти все что там сказано по C++ относится и к VC.
С IDL сложнее. Во первых, потому что Нормальных оучающих примеров по COM/ATL в сети просто нет, а все только на бумаге (это мое сугубо личное мнение). Во 2-ых, потому что тема эта на порядок сложнее и требует большей кропотливости и труда (сравнительно с темой "C++ за 20 дней" Как тебе уже сказали, если ты не гений, то вероятно книгу по ATL тебе придтся прочитать не один раз Если же ты планируешь за 1-2 дня переписать дельфийный код на сишный ком-объект, но делать это на си не умеешь, то лучше сейчас этим не занимайся - даже если какой-то код появиться, то отлаживать его тоже надо уметь. |
|||
|
||||
| Ham |
|
|||
|
Unregistered |
Просто проект горит!
Клиенты написанные на билдеровских средах работают без проблем! Но вот беда надо ещё и на VC,VB,1C чтоб заработало Я уже незнаю что делать! |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Если тебе просто в VC надо использовать COM-объекты, которые написанны на другом языке, то нет проблем - для этого COM-технология и была создана.
Тебе же сказали, что необходимо иметь заголовочный файл, где объявлены все GUID твоего объекта и задекларированны его интерфейсы. |
|||
|
||||
| Ham |
|
|||
|
Unregistered |
Ну так! Что я и прошу с самого начала! Для BC такой модуль написали, спасибо! А вот для VC и VB никак. Если кто может, помогите! PS Может и для 1C. ЗЫЖ Я наверное повешусь! |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Что значит модуль? если файлы заголовочные есть, то они должны подойти. |
|||
|
||||
| Ham |
|
||||
|
Unregistered |
Тогда объясни мне плз что такое заголовочный модуль! |
||||
|
|||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Не модуль, а файл. Заголовочный файл, это файл с кодом C, который имеет расширение *.h (от Header)
|
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Как правило, в нем объявляються функции, классы, переменные и т.д.
в срр файлах располагается реализация функций и остальной код -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
|
|||
|
||||
| Ham |
|
|||
|
Unregistered |
Ты имел ввиду tbl?
|
|||
|
||||
| Ham |
|
|||
|
Unregistered |
Сори не видел этих постов!
Так я и говорю, что такой модуль для BC написали!
|
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Так приехали.
Ну так возьми этот файл и пользуйся. Зачем переписывать COM-сервер если ты пишешь под него клиента? Пользуйся откомпилированной и установленной в системе dll. Или ты хочешь чтоб мы угадали, что же за дельфийный код, из которого собран твой сервер? |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
И еще раз повторяю: это называется заголовочный файл, а не модуль.
Если хочешь получить ответ на свой вопрос, то надо хотя бы его грамотно задать, а то под модулем понимают совсем другое. |
|||
|
||||
| Ham |
|
|||
|
Unregistered |
Ну блин! Так и ёлы палы! Я не хочу переписывать весь ком на VC! Мне просто нужен ЗАГОЛОВОЧНЫЙ ФАЙЛ! И всё! |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
имхо, классвизард тебе из этого файла и сделает заголовочный
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Ham |
|
|||
|
Unregistered |
Под где?
Под VC или где? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
кхе-кхе...
Берем VC++ тыцкаем ClassWizard, выбираем AddClass/From type library, показываем на наш *.tlb (*.olb, *.dll) файл где COM-сервер лежит, отмечаем в списке те интерфейсы, которые нам нужны в итоговом *.h-файле, давим Ok и получаем заголовочный файл. Включаем его #include, юзаем. В заголовке - классы (врапперы), которые и делают всю грязную работу с серваком. -------------------- ![]() |
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Надеюсь автор не забудет сказать когда у него все получиться об этом нам.......
|
|||
|
||||
| Ham |
|
|||
|
Unregistered |
Обязательно скажу! Столько времени людям мозги полоскал! |
|||
|
||||
| Ham |
|
|||
|
Unregistered |
Ну пипалы вы даёте!
Я просто поражаюсь! Неужели никто не догадался сказать, что бы я юзал OLE Automation server! Это же круто! Никаких заголовочных файлов! Всё работает даже лучьше чем старый вариант! И никакого гемороя! |
|||
|
||||
| Ham |
|
|||
|
Unregistered |
Всем спасибо!
|
|||
|
||||
| TaTaP |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 15.10.2002 Репутация: 1 Всего: 1 |
Вот, блин, мы же еще и виноваты остались... Помогай после этого людям...
|
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Когда из твоего "юзанья OLE" получится что-то стоящее, тогда можешь так высказываться |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
На второй стр. давались указания как подрубить к проекту и юзать COM-объект, в т.ч. OLE Automation Server.
-------------------- ![]() |
|||
|
||||
| Ham |
|
|||
|
Unregistered |
Никто не виноват! Я звиняюсь, если кого обидел!
Просто всё так просто с этим оле! У меня всё получилось и я сразу здал проект клиенту! Всего одна ночь и всё |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |