Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

COM технология   Найти похожие ветки 

 
Kavi ©   (2004-01-14 18:50) [0]

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

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


 
Vetal ©   (2004-01-15 17:46) [1]

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

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


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

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


 
Vetal ©   (2004-01-15 18:13) [3]

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



Страницы: 1 вся ветка

Текущий архив: 2004.12.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
3-1101180476
Wood
2004-11-23 06:27
2004.12.26
Методы DBGrid или DataSet?


1-1102697804
SoT1
2004-12-10 19:56
2004.12.26
Dll


8-1096127670
miek
2004-09-25 19:54
2004.12.26
GLScene: анимация 3D-моделей


3-1101271587
Simba_max
2004-11-24 07:46
2004.12.26
БД


9-1093004228
Megabyte-Ceercop
2004-08-20 16:17
2004.12.26
Игра растет в памяти после каждого ГеймОвера