Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2010, 19:56   #1
VladimirFF
Новичок
Джуниор
 
Регистрация: 22.02.2010
Сообщений: 1
По умолчанию Передача указателя из Си++ в dll на delphi

Доброго всем времени суток!

При передаче указателя на блок памяти из кода на Си++ в длл-функцию, написанную на дульфи, обнаруживаю в этом блоке памяти совсем другие данные.

Есть библиотека DLL, написанная на delphi. В ней функция вида:
function sendData(<тут разные параметры>; data: Pointer): BYTE; stdcall;
begin
with TFileStream.Create('dump.dat',fmOpe nWrite) do try
write(data,wSize);
finally
free();
end;
end;

ее объявление в Си:
typedef BYTE (WINAPI *SendData)(BYTE, WORD, BYTE, void*);


и код в си:
void* data;
data = malloc(size);
//дальше в память, куда указывает data записываются данные
memcpy(data,&val,sz);
//и собственно вызов функции DLL
sendData(catId,size,objCount,data);


Проблема в следующем: то что я записано в data в Си и то что я получаю в DLL-фнкции - совершенно разные данные. Ошибки доступа к памяти при этом не возникает.

В Си у меня опыта мало, может что не так делаю?
VladimirFF вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача указателя на массив в функцию loser Общие вопросы C/C++ 2 19.02.2010 19:41
Передача StringGrid в DLL Adamrus Общие вопросы Delphi 7 30.11.2009 21:46
передача фрейма из dll BESS Компоненты Delphi 1 20.04.2009 18:54
передача указателя в функцию arturka Помощь студентам 3 06.07.2008 00:25
Передача данных из VC++ DLL в Delphi App Kosoglaz Общие вопросы C/C++ 2 05.02.2008 10:53