Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

COM технология [Delphi, VB, Windows]


Kavi ©   (2004-01-14 18:50:00) 

Написал ActiveX DLL на Visual Basic 6.0
Все здорово. При использовании функций этой dll из приложения, написанного на VBasic - все работает.
Однако, когда я создаю приложение в Delphi5 и статически подключаю dll,
методы, в которых передаются различные строковые параметры, вызывают ошибку, связанную с OLE-Server. Простые методы отрабатываются корректно.
Подскажите, плиз, наверняка здесь какой-то подвох....

Заранее благодарен....


Vetal   (2004-01-15 18:13:00) [1]

Нет, не совпадают. Строка ВБ в Дельфи - это ОлеСтринг. Поэтому в Дельфи стоит для передачи строк использовать ОлеВариант. И кроме того, насколько я помню, обозначать передаваемые параметры как var (или const, точно не помню).
Если не получится, то стоит исползовать не прямые интерфейсы для работы с СОМ-объектами, а dispinterface (Это если используется библиотека типов с дуальными интерфейсами).


Kuusiniemi   (2004-01-15 17:48:00) [2]

строковые параметры? Типы строк совпадают разве в VB и в Delphi?


Vetal   (2004-01-15 17:46:00) [3]

У меня была та же проблема. Только зачем ты длл-ку подключаешь статически. У тебя ж СОМ-библиотека. Используй CreateOleObject.

По поводу передачи строковых параметров... Там в ВБейсике все параметры по умолчанию вар. Попробуй в своей проге сделать все параметры также вар при вызове функций из СОМ-библиотеки.


Наверх

Титульная страница Поиск, карта сайта Написать письмо