Имя пользователя:
Пароль:
 

Название темы: Pascal exe и С++ dll
Показать сообщение отдельно

редкий гость


Сообщения: 1696
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


Server
Можно почитать документацию по dynamic_cast и понять, что а) он здесь не нужен б) синтаксис неправильный. Здесь хватит static_cast'а. Примерно так: IntMas = static_cast<int*>(i). Более того, поскольку фактически void* от int* ничем не отличается, а манглинг имён всё равно не применяется, то можно параметр I сразу сделать типа int*.

То что i=(void*)5 навевает на мысль, что конвенции вызова не совпадают и параметры лежат в обратном порядке (т.к. должно быть BSize=5). Что-то мне подсказывает, что PlugExec стоит объявить вот так:
Код: Выделить весь код
PlugExec:function(I,R,S,B:pointer;ISize,RSize,SSize,BSize:integer):boolean; stdcall;
Либо убрать PASCAL из объявления функции в сишной реализации.

-------
http://ivank.ru


Отправлено: 22:54, 05-09-2006 | #2

Название темы: Pascal exe и С++ dll