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

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

Проблема с типами данных [D5, WinXP]


Sham ©   (2006-10-03 12:55:00) 

Имеется dll для работы со внешнем оборудованием. В ней есть функция Func(Х), где X- строковый параметр. В примере для C++ параметр передаётся так:

CString IP;
....
Func(ip.GetBuffer())

Вопрос: Какой тип данных должен быть в Delphi  для вызова данной функции? Пробовал String, PChar, ничего не выходит. Может быть не так делаю присваивание переменной, которую пихаю в параметр функции. Как надо?


Sham   (2006-10-06 10:16:00) [1]

Вопрос закрыт. Всем огромное спасибо. Проблема была в описании функции, надо было использовать директиву stdcall или cdecl. Я писал Com-объект, который вызывал функции из dll, а Com-объект в свою очередь вызывался из 1С. В этом случае работает только cdecl.


Джо   (2006-10-03 13:11:00) [2]

> [1] Джо ©   (03.10.06 12:57)

Сорри, не заметил GetBuffer. Тогда, судя по всему  [2] Percent.


Percent   (2006-10-03 13:07:00) [3]

Func(ip. GetBuffer())

Отсюда следует => PChar

Функцию при импорте отметили как stdcall?
Возможно другое соглашение.


Джо   (2006-10-03 12:57:00) [4]

> CStringIP;

Эта DLL не пригодна для работы с ней в Delphi.


Наверх

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