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