Member 13261094 Ответов: 1

Получение coledispatchexception в ячейке памяти 0x00b3d59c.


Я получаю исключение в открытом методе.

lpDisp = xlBooks.Open(a_sFileName,covOptional,covOptional,
    covOptional,covOptional,covOptional,covOptional,
    covOptional,covOptional,covOptional,covOptional,
    covOptional,covOptional,covOptional,covOptional);


LPDISPATCH Workbooks::Open(LPCTSTR Filename, const VARIANT& UpdateLinks, const VARIANT& ReadOnly, const VARIANT& Format, const VARIANT& Password, const VARIANT& WriteResPassword, const VARIANT& IgnoreReadOnlyRecommended, const VARIANT& Origin, 
		const VARIANT& Delimiter, const VARIANT& Editable, const VARIANT& Notify, const VARIANT& Converter, const VARIANT& AddToMru, const VARIANT& Local, const VARIANT& CorruptLoad)
{
	LPDISPATCH result;
	static BYTE parms[] =
		VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
	InvokeHelper(0x783, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
		Filename, &UpdateLinks, &ReadOnly, &Format, &Password, &WriteResPassword, &IgnoreReadOnlyRecommended, &Origin, &Delimiter, &Editable, &Notify, &Converter, &AddToMru, &Local, &CorruptLoad);
	return result;
}


Что я уже пробовал:

Кажется
excel interop
вопрос.

Richard MacCutchan

Это может быть что угодно. Вам нужно использовать свой отладчик, чтобы проверить все параметры в открытом вызове.

Stefan_Lang

Ах, могучий вариант ... я уже целую вечность пользовался ими в последний раз, и я счастлив, что эти дни прошли.

Примите мои соболезнования.

Greg Utas

Я никогда им не пользовался. Я посмотрел на него и закрыл страницу браузера, пока меня рвало.

1 Ответов

Рейтинг:
2

KarstenK

Это явный признак того, что вы не подготовили должным образом свою открытую функцию. Я лучше всего предполагаю, что эти параметры не так уж необязательны, но обязательны в некоторых сценариях. Вы должны не только инициализировать вариант с некоторым правильным значением но также и с типом.

бонусный совет: откройте в режиме только для чтения и попробуйте текстовый файл