Тема / Topic: Корректный вызов функции из внешний библиотеки
DRPR
Junior Member / Новичок
Участник № / Member № 2259
отправлено / posted
Цель следующая: массив, объявленный в программе Trace Mode как глобальная переменная, необходимо для некоторых преобразований передать как аргумент функции, содержащейся во внешней библиотеке. Что было сделано: была создана в Visual C++ 6.0 библиотека mydll.dll с функцией вида extern "C" __declspec(dllexport) void __stdcall function(double *in){} В программе в Trace Mode эта функция добавлена как функция внешней библиотеки. В качестве аргумента этой функции в редакторе аргументов по идее надо написать указатель на массив in, где массив in уже описан как глобальная переменная. При попытке написать в редакторе аргументов внешней функции параметры: Имя|тип данных|указатель|Комментарий in double да //массив данных выдаётся ошибка аргумента при компиляции в обращении function(in). Если "да" изменить на "нет", то есть если этот аргумент не считать указателем, то компиляция проходит успешно, с нулём ошибок и предупреждений. Но в этом случае при выполнении программы (нажатии F5) выдаётся сообщение, что в tmdevenv.exe обнаружена ошибка и приложение будет закрыто. Вопросы: Как корректно задать обращение к функции внешней библиотеки и описать её аргументы для данного примера? Вобще, реализуема ли задача преобразования массива посредством внешней функции в Trace Mode 6?
Сообщения / Posts 4 | Из / From: Russia
| IP / IP: IP адрес / IP address |
DRPR
Junior Member / Новичок
Участник № / Member № 2259
отправлено / posted
Хм... честно говоря, в справке этого факта по моему нет... Ведь внутри самого языка ST массивы передавать можно, и в справке даются примеры как это делать... Спасибо за ответ.
Сообщения / Posts 4 | Из / From: Russia
| IP / IP: IP адрес / IP address |