Форум: "Базы";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];
Внизс ума схожу... Найти похожие ветки
← →
Olivka (2003-01-10 22:06) [0]Дорогие!
При запуске программы, а конкретно на месте, где таблице я Active Open возникает ошибка:
project1.exe raized exception class EVariantError
with message "Invalid variant type conversion".
Process stopped. Use Step or Run to continue.
Я использую компонент tADOtable ДЛя доступа к таблице *.dbf.
не знаю, относится это к делу, или нет, но при установке MDAC все время на одном и том же месте (надпись я не успеваю прочитать - что-то типа windows устанавливает компоненты, необходимые для ... (все по-русски)) rundll32 совершает недопустимую операцию и закрыта будет. Я закрываю и установка проходит дальше вполне нормально (при этом в другом окне мелькают многочисленные устанавливающиеся компоненты). После установки поверх этого дела MDAC 2.7 ошибка в программе выдается на том же месте, но в уточняющей интерпретации -
project1.exe raized exception class EVariantTypeCastError with message
"Could not convert variant of type (Null) into type (String)"
Process stopped. Use Step or Run to continue.
Надо сказать, что я работаю над этой программой с неделю и успела перекачать с помощью этого отладочного варианта день назад на сервер 2 таблицы dbf, эта ошибка не возникала.
Если сделать проект начисто и добавить на форму tDBGrid, tDataSource и tADBtable то ошибка возникает на table.active:=true, а потом, при продолжении в гриде нормально показывается таблица dbf.
Что с этим делать-то мне?
← →
TTCustomDelphiMaster (2003-01-10 22:25) [1]Если в программе используется свойство FieldValues попробуй его заменить на FieldByName(..).AsString или делай проверку на null перед присвоением Variant"a строке.
← →
Olivka (2003-01-11 11:21) [2]Все дело в том, что эта ошибка возникает еще до всяких присвоений и вообще в самом начале программы, при присвоении .Active:=true. (если это стоит в дизайнтайме, то ошибка возникает при создании модуля данных, или формы, содержащей эти компоненты) т.о. вся обработка уже после этого происходит.
← →
Olivka (2003-01-11 11:24) [3]ХОтела добавить, при использовании вместо АДО БДЕ, при открытии тех же данных ошибка не возникает. Не возникала она и с АДо до сего дня :(
← →
Big_Rom (2003-01-11 14:49) [4]Да можно сойти с ума :))
жаль немогу помочь с через Адо неработал. Но если исходить
из последнего собщения очевидно дело в АДО там надо и копать.
← →
Olivka (2003-01-11 21:48) [5]Я покопалась в конфах, говорят, это указано в сервиспаке, что эта проблема решена. Я установила второй сервиспак, ничего не помогло. Что ж теперь, опять бде использовать... Сегодня дома проверила на машине. ТА же штука. Как же другие работают?
← →
sniknik (2003-01-11 23:33) [6]к таблице *.dbf. а провайдера какого используеш? если к примеру jet то в MDAC 2.7 его нет, и сколько не переставляй ошибку возникшую в jet не исправиш. (если она там возникла).
попробуй еще и jet переустановить. MDAC 2.5 не поможет если уже более поздняя версия стоит. (а jet в нем включон)
(это на случай если вы его не ставите, в вопросе и после ни слова об этом)
← →
Olivka (2003-01-12 13:46) [7]Провайдер обычно для dbf - микрософт OLE DB для ODBC. Вчера попробовала поставить вместо него jet, ошибка исчезла. А почему в 2.7 jet-a нет? А как переустановить отдельно jet?
← →
sniknik (2003-01-12 18:19) [8]> почему в 2.7 jet-a нет
вопрос к микрософту, считают наверное лутше так устанавливать только то что тебе нужно.
> А как переустановить отдельно jet
скачать оттуда же откуда mdac брали с микрософта. ищи там файл Jet40SP6_9xNT.exe. (это под 95/98-е и NT, под 2000/XP другие но этот тоже ставится) с языком тоже различия (другие файлы, смотри что тебе надо)
кстати ODBC-шный драйвер при установке jet перекрывается возможно после переустановки ошибка исчезнет.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.01.30;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c