Использование внешнего проекта dll для надстройки c ++ / xll для Excel

У меня есть 2 проекта VS в отдельных решениях. Первый dll, второй xll пытается вызвать функцию из первого. Excel компилируется без ошибок

"The file you are trying to open, 'test.xll', is in a different format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file now?"

и если я нажимаю да, я вижу кучу китайских букв. Если я не вызываю функцию из проекта dll, то xll работает правильно. Что я делаю неправильно? Использование VS2010 и Excel 2010 x86.

Первый — это проект DLL

square.cpp

double _stdcall square (double &x) {
return x * x;
}

square.h

 #pragma once

__declspec(dllexport) double _stdcall square (double &x);

Второй проект — проект XLL

static AddIn xai_exp(
"?xll_exp", XLL_DOUBLE XLL_DOUBLE,
"XLL.EXP", "Number");

double WINAPI xll_exp(double number) {
#pragma XLLEXPORT

return square(number);
}

Я также сделал defFile для тестирования VBA, но я не думаю, что он нужен здесь.

2

Решение

Ошибка, которую вы описываете, появляется, когда dll, которая используется вашим xll, не найдена на компьютере. Поэтому вы должны убедиться, что dll доступна для вашего xll.

0

Другие решения