![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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.
По поводу передачи строковых параметров... Там в ВБейсике все параметры по умолчанию вар. Попробуй в своей проге сделать все параметры также вар при вызове функций из СОМ-библиотеки.