Страница: 1 |
Страница: 1 |
Вопрос: Код не хочет работать...
Добавлено: 10.10.04 01:23
Автор вопроса: Calhoon | Web-сайт:
Код в режиме отладке работает, а exe - вылетает или выдает ошибку. Почему, не пойму. Установил, что косяк на первой строке:
If intFoc < 0 Or intFoc > 2 Then
intFoc = 1
End If
intFoc - это TextBox, значение которого 0, 1 или 2 от случая. Почему косяк? Раньше прога работала нормально, а теперь - ошибка в dll vbVirtMachine...
vb переставлять я уж пробовал и dll заменял на другой, старый, из архивов, рабочий раньше...
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #1
Добавлено: 10.10.04 01:39
А ты пробовал там разные CInt или Val ставить?
Вдруг поможет?
Хотя раз раньше работала - придётся тебе ось переставлять.
Попробуй кинуть мне свою прогу (если не больше 200) на neco777@rambler.ru - пойдёт у меня или нет?
Номер ответа: 2
Автор ответа:
Calhoon
ICQ: 789764
Вопросов: 90
Ответов: 230
Web-сайт:
Профиль | | #2
Добавлено: 10.10.04 01:43
Пробовал. Нифига.
На другой системе (XPюшу поставил на др. винте) тоже exe не пашет, vb еще не поставил...
Номер ответа: 3
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #3
Добавлено: 10.10.04 13:04
У меня срабатывает, ставлю 5, изменяет на 1, ставлю -1 изменяет на 1... Все замечательно...
Номер ответа: 4
Автор ответа:
Comanche
Вопросов: 87
Ответов: 459
Профиль | | #4
Добавлено: 10.10.04 16:29
intFoc = 1
End If
Не люблю я такой стиль кодирования, ох как не люблю ) Если intFoc - действительно TextBox (а не считанное оттуда значение), то правильнее писАть так:
intFoc.Text = "1"
End If[/CODE]
Уважьте бэйсик: дайте ему строковую величину для строкового свойства! И аккуратнее с "дефолтовыми" свойствами; лучше вообще от них отвыкать (в VB.NET, к примеру, этот номер вообще не пройдёт, насколько я знаю).
А ещё правильнее - вот так:
[CODE]intFocValue = Val(intFoc.Text)
If intFocValue < 0 Or intFocValue > 2 Then
intFoc.Text = "1"
End If
- чтобы не было повторного обращения к свойству. Это не "криминально", но, например, при выполнении этого кода в цикле (и т.п.) это может оказаться критичным в плане быстродействия.
Номер ответа: 5
Автор ответа:
Comanche
Вопросов: 87
Ответов: 459
Профиль | | #5
Добавлено: 10.10.04 16:30
Павел, когда ты добьёшь подсветку кода в форуме?!
Номер ответа: 6
Автор ответа:
Alexey333
ICQ: 127708322
Вопросов: 4
Ответов: 29
Профиль | | #6
Добавлено: 10.10.04 22:04
У меня тоже работает.
Видимо у тебя стоит запрет на использование необъявленных переменных. А ты их как раз забыл объявить.
Номер ответа: 7
Автор ответа:
Calhoon
ICQ: 789764
Вопросов: 90
Ответов: 230
Web-сайт:
Профиль | | #7
Добавлено: 17.10.04 01:32
Все перечисленное пробовал - нифига не помогает... Самое интересное - то, что из-под Basic'a пашет, а в exe - не хотит.....
Номер ответа: 8
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #8
Добавлено: 17.10.04 02:24
а, ну я только под IDE и пробовал... завтра надо будет в откомпилированном варианте попробовать...