Type Mismatch

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
RGRuslan
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 25.06.2004 (Пт) 8:17

Type Mismatch

Сообщение RGRuslan » 05.07.2004 (Пн) 15:17

Что это за ошибка и с чем ее едят?
У меня эта ошибка возникает только в откомпелированном файле при открытии текстового файла. При запуске програмы (и открытии из нее того же самого текстового файла) из редактора VB никаких ошибок не происходит. Я думаю, что возможно дело в правах доступа к текстовому файлу для разных программ. Но что я там только не ставил, никаких изменений.

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 05.07.2004 (Пн) 19:34

Надо проверить, пременные какого типа передаются в процедуры, а поскольку , по всей видимости, процедур много, вставь несколько msgbox-ов в подозрительные места и откомпилируй. Постепенно ошибка будет локализована.

RGRuslan
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 25.06.2004 (Пт) 8:17

Сообщение RGRuslan » 05.07.2004 (Пн) 20:29

А вообще что значит ошибка Type Mismatch?

CyberYen
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 112
Зарегистрирован: 10.03.2004 (Ср) 18:14

Сообщение CyberYen » 05.07.2004 (Пн) 21:54

Если коротко, то ошибка "Type Mismatch" означает, что значение, которое ты хочешь присвоить переменной не соответствует ее типу.
К примеру:

Dim ABC as Integer 'только целые числа
ABC = "текст" 'текст
Понял?

Sanya Z
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 240
Зарегистрирован: 18.08.2003 (Пн) 3:15
Откуда: Москва

Сообщение Sanya Z » 06.07.2004 (Вт) 2:21

Возможно ты что-нибудь считываешь из внешнего файла (число), и хочешь его прибавить к какой-нить числовой переменной, вот ошибка и возникает, т.к. любое считанное значение string!
И пусть в моих поступках не было логики...

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 06.07.2004 (Вт) 2:59

Sanya Z писал(а):Возможно ты что-нибудь считываешь из внешнего файла (число), и хочешь его прибавить к какой-нить числовой переменной, вот ошибка и возникает, т.к. любое считанное значение string!

Нет не string a variant а вот если значение у него непереводимое в integer то возникает эта ошибка иначе он ее переведет сам. Но ИМХО переводить типы переменных надо самому а то потом иногда всплывают веселенькие баги. Типа "1"+"1"="11" :wink:

RGRuslan
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 25.06.2004 (Пт) 8:17

Сообщение RGRuslan » 06.07.2004 (Вт) 10:54

А почему тогда эта ошибка возникает только в откомпелированной проге?

Ведь при запуске этой проги (и открытии того же самого текстового файла) из редактора VB никаких ошибок не возникает!

CyberYen
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 112
Зарегистрирован: 10.03.2004 (Ср) 18:14

Сообщение CyberYen » 06.07.2004 (Вт) 13:56

В ВБ есть одна фишка: запуск с полной компиляцией, как раз для твоего случая. Если не видишь эту кнопку на панели инструментов, тогда тебе:
View > Toolbars > Customize

Там вкладка Commands.
В лев. списке выбираешь RUN.

Там и увидишь Start with full compile.
Перетягиваешь на панель инстр.
Нажимаешь...сечешь ошибку. :wink: :idea:


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: The trick и гости: 10

    TopList