Как передать строку из VC++ в функцию из dll на Delphi?
От: Скрама Россия  
Дата: 25.07.08 04:31
Оценка:
Поиск результатов не дал. Долго сомневался, у кого спрашивать — у дельфистов или у сяшников, решил все же сюда.

Есть dll на Delphi, с функцией:
function ShowForm (msKadastrNum, miSubZoneCode, msApplicationDir : String): Integer; export; stdcall;

Пытаюсь вызвать ее на VC++ (MSVS2005) скармливая параметрами BSTR:
typedef int (WINAPI * PTShowForm)(BSTR, BSTR, BSTR);
...
dllhwnd = TShow(bstrKadastrNum, bstrSubZoneCode, bstrPath);

Но в ShowForm приходят только первые буквы. Как быть?

P.S.: Сам дельфист, просто нужда заставила. Естественно, сам бы использовал WideString в функции, но dll уже есть и на нее куча всего завязана, очень нежелательно ее менять.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.