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

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

Грабли с передачей строки в С++ DLL [D5, D7, Win2k]


pusher ©   (2002-11-22 09:36:00) 

есть в с++ dll функция foo(BSTR bstrString), она просто MessageBox выводит с переданной строкой
вызываю ее из C++ Builder - нормально, из MSVC - тоже
вызываю ее из Delphi - выводит сплошные корябалы :).
в дельфе она определна как foo(bstrString:WideString)


pusher   (2002-11-22 10:08:00) [1]

:) огромное спасиб!!! да, надо было указать cdecl,
а тип остался WideString и все ок


Reindeer Moss Eater   (2002-11-22 10:02:00) [2]

Кроме этого
foo(bstrString: PChar)
надо специфицировать способ передачи параметров. stdcall,cdecl,etc ....


pusher   (2002-11-22 09:57:00) [3]

c PChar("text") тоже самое :((,
а при попытке использовать PWideChar - Invalid typecast


KSergey   (2002-11-22 09:53:00) [4]

Или, скорее, PWideChar


KSergey   (2002-11-22 09:49:00) [5]

Склрее всего в дельфи надо определить как
foo(bstrString: PChar)

Ну я вызывать, соответсвенно
foo(PChar("Text"))


Наверх

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