Ошибка плагина Excel при переходе с 32-битной WindowsXP на 64-битную Windows7 - PullRequest
0 голосов
/ 03 января 2012

Я отлаживаю подключаемый модуль Excel 2010, выполненный кем-то другим, и перехожу с 32-разрядной WindowsXP на 64-разрядную Windows 7.

Я получаю ошибку времени компиляции в файле XLCALL.CPP, являющемся частью "Microsoft Excel Developer's Toolkit - Version 14.0".

Это код с ошибкой:

...
typedef int (PASCAL *EXCEL12PROC) (int xlfn, int coper, LPXLOPER12 *rgpxloper12, LPXLOPER12 xloper12Res);

HMODULE hmodule;
EXCEL12PROC pexcel12;

__forceinline void FetchExcel12EntryPt(void)       // <<< error, line 36
    {
        if (pexcel12 == NULL)
        {
            hmodule = GetModuleHandle(NULL);
            if (hmodule != NULL)
            {
                pexcel12 = (EXCEL12PROC) GetProcAddress(hmodule, EXCEL12ENTRYPT);
            }
        }
    }

Это сообщение об ошибке:

S:\3rdparty\2010 Office System Developer Resources\Excel2010XLLSDK\SRC\XLCALL.CPP|36|error: expected constructor, destructor, or type conversion before 'void'

Понятия не имею о возможной причине этой ошибки. В файле включения XLCALL.H нет определений классов, только структуры POD, поэтому он не должен искать конструкторы / деструкторы. Функция, к которой относится ошибка, является локальной для этого файла (т.е. не объявлена ​​во включаемом файле). Другие файлы не включены.

Спасибо за любую помощь!

Платформа:
Windows 7 64 бит
Excel 2010
Mingw32
CodeBlocks 10.05

1 Ответ

1 голос
/ 10 января 2012

Хорошо, кажется, что для разработки инструментов C ++, которые должны работать с продуктами Microsoft, лучше всего использовать Microsoft Visual C ++.

При этом все эти проблемы просто исчезли.

...