AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.04.2010, 11:00   #1  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Ошибка чтения файлов XLS под Windows 7
Такая ситуация. Может кто встречался. Аксапта версии 4.0 SP2. Есть у нас несколько функций по загрузке в Аксапту чего-либо из файлов Excel. Например, накладных поставщиков. Все эти файлы присылаются в версиях Excel не выше 2003. Все эти загрузки великолепно работают на компах под WinXP. И вот стали у нас ставить новые компы с предустановленной Windows 7. Поставили мы туда 2007 офис. И стала в этих загрузках появляться плавающая ошибка:
Код:
Error Сообщение (13:28:19) Ошибка времени выполнения: Метод был вызван с недопустимым числом параметров.
Плавающая в том смысле, что один и тот же файл может загрузиться без ошибки, а потом с ошибкой в ячейке Х, а потом с ошибкой в ячейке Y, а потом опять без ошибки, а потом с ошибкой в ячейке Z.. И т.д.
Причем, в том же 2007 офисе, установленном на WinXP, ошибки нет. А на Windows 7 ошибка есть. Установка 2003 офиса на тот же Windows 7 не помогает, дает ту же ошибку. Чего-то значит сломалось в Windows 7, похоже в каких-то библиотеках по работе с com-объектами.
Стек вызовов такой (название нашего класса опускаю, даю стек начиная со стандартных классов по работе с excel:
Код:
Трассировка стека
(C)\Classes\COM\value
(C)\Classes\SysExcelCell_XP\value - line 12
(C)\Classes\SysDataExcelCOMFree\readRow - line 38
(C)\Classes\SysDataExcelCOM\read - line 11
(C)\Classes\SysDataImportExcel\read - line 3
(C)\Classes\SysDataImportDefBase\importFilename - line 38
(C)\Classes\SysDataImportExcel\importFilename - line 6
(C)\Classes\SysDataImportDefBase\import - line 23
(C)\Classes\SysDataImportExcel\import - line 10
(C)\Classes\SysDataImportDefBase\run - line 5
Все эти классы на слое sys, то есть модификаций в них не было.

Код метода, где появляется ошибка:

X++:
public COMVariant value(anytype _value = COMArgument::NoValue)
{
    COMVariant  ret;
    ;
    if (!prmisdefault(_value))
    {
        ret = cell.value(#xlRangeValueDefault,_value);
    }
    else
    {
        ret = cell.value(#xlRangeValueDefault);   // ВОТ В ЭТОЙ СТРОКЕ ПОЯВЛЯЕТСЯ ОШИБКА
    }
    return ret;
}
Не наблюдалось у кого то глюков в Windows 7 при стыковке Аксапты с MS Office ?

Последний раз редактировалось Zabr; 08.04.2010 в 11:05.
За это сообщение автора поблагодарили: Logger (1).
Теги
.net, ax2009, ax4.0, com-объект, excel, импорт данных, импорт файла

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Установка DAX 4.0 под локальным пользователем на Windows XP shogel DAX: База знаний и проекты 81 07.04.2010 16:42
emeadaxsupport: Group policy setting "System Objects: Default owner for objects created by members of the administrators group" is missing on Windows Server 2008 Blog bot DAX Blogs 2 28.08.2009 02:14
axaptafreak: Running Dynamics AX 2009 on Windows 7 using Windows Virtual XP Blog bot DAX Blogs 3 24.07.2009 11:20
Client Axapta 3.0 SP4 и Linux. Как запустить? Daiver DAX: Администрирование 10 28.06.2007 15:59
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:23.