Не работает exe-файл

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

Не работает exe-файл

Сообщение Ser-Robotiaga » 25.10.2010 (Пн) 23:51

Компилирую просто File/Make ...exe. Экзешник создается, но при запуске грузит процессор на 50% и никаких видимых действий не происходит. А в среде VB6 всё работает нормально. В чем может быть причина? Пока я только переинсталировал VB6 и sp6 поверх старого, это не помогло.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Не работает exe-файл

Сообщение Хакер » 25.10.2010 (Пн) 23:54

Особенность самого кода или заражение вирусом выходного файла.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Ser-Robotiaga
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 19.01.2007 (Пт) 0:45

Re: Не работает exe-файл

Сообщение Ser-Robotiaga » 26.10.2010 (Вт) 18:08

Антивирусник у меня стоит лицензионный.Хотя наблюдается такой глюк как самопроизвольное перескакивание курсора при наборе текста.Не знаю вирус или лаг в системе.
На счет особенности кода. Тоже так подозревал, но не был уверен, что так может быть, что в VB работает, а exe - нет. Спасибо, Хакер, за подсказку. Подумаю где может быть причина. А может кто сталкивался с таким, хоть примерно знать где копать? Может элемент управления глючный какой есть, или еще что?

Ser-Robotiaga
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 19.01.2007 (Пт) 0:45

Re: Не работает exe-файл

Сообщение Ser-Robotiaga » 26.10.2010 (Вт) 19:13

Еще раз спасибо. Нашел в чем проблема. Вызов пользовательской процедуры из процедуры Form_Load. Очевидно форма не успевает загрузиться. После переноса вызова этой процедуры в Form_Activate заработало и в exe-режиме.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Не работает exe-файл

Сообщение Хакер » 26.10.2010 (Вт) 19:14

А ты отдаёшь себе отчёт, когда будет вызываться Activate?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Ser-Robotiaga
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 19.01.2007 (Пт) 0:45

Re: Не работает exe-файл

Сообщение Ser-Robotiaga » 28.10.2010 (Чт) 21:56

Activate происходит при отображении формы, после Form_Load. А что, есть более подходящее событие? По моему Activate самое то. Процедура которую я вызываю, обрабатывает доступность кнопок на форме.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Не работает exe-файл

Сообщение Хакер » 28.10.2010 (Чт) 22:00

Activate происходит при активации окна. Сюда входит случаи, когда, например, ты разворачиваешь свёрнутое окно. Или просто переходишь от одного окна твоего приложения к другому. В общем, Activete происходит сколько угодно раз.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Ser-Robotiaga
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 19.01.2007 (Пт) 0:45

Re: Не работает exe-файл

Сообщение Ser-Robotiaga » 28.10.2010 (Чт) 22:38

Т.е, как я понял, надо осторожно. Если б мне надо было вызвать процедуру один раз при пуске программы, то этот номер мог не прокатить.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Не работает exe-файл

Сообщение iGrok » 28.10.2010 (Чт) 23:43

Ну он и так, в общем-то, не особо катит. Ты вызываешь лишние действия при разворачивании окна.
Это, конечно, не критично, но плохо.
label:
cli
jmp label

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Не работает exe-файл

Сообщение Денис » 29.10.2010 (Пт) 8:09

Если твоя программа при запуске делает какую-то долгую напряженную работу, то юзай splash-screen. Он для того и предназначен. В нем уже можно в Form_Activate написать что-то типа этого:
Код: Выделить всё
static bFirstActivate as Boolean
if bFirstActivate then

    bFirstActivate = True 'Так мы обезопасим себя на случай повторного вызова этой процедуры.

    dim mForm as MainForm
    Set mForm = New MainForm

    Call MyAppInitAndLoadSettingsFunction() 'Естественно, эта функция должна быть либо в модуле splash-screen'а либо в каком-либо общем модуле. Или даже классе.

    load mForm
    mForm.Show

    unload me 'Тоесть, когда все сделано и загружено, сплэш самовыгружается.

end if

А еще на сплэше можно поместить красивый прогрессбар и (если есть возможность получать прогресс из той длинной функции) отображать прогресс загрузки.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

Ser-Robotiaga
Новичок
Новичок
 
Сообщения: 45
Зарегистрирован: 19.01.2007 (Пт) 0:45

Re: Не работает exe-файл

Сообщение Ser-Robotiaga » 29.10.2010 (Пт) 20:17

iGrok писал(а):Ну он и так, в общем-то, не особо катит. Ты вызываешь лишние действия при разворачивании окна.
Это, конечно, не критично, но плохо.

Принял вашу конструктивную критику. Проблему решил по-другому. Перед вызовом процедуры обновления кнопок добавил строчку Me.Show. Спасибо Денису. На это меня натолкнул его код. А вообще надо будет попробовать воплотить его идею.

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: Не работает exe-файл

Сообщение Денис » 02.11.2010 (Вт) 11:46

Ой, у меня там ошибка:
if bFirstActivate then
надо заменить на
if NOT bFirstActivate then
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Re: Не работает exe-файл

Сообщение DirectXManiac » 11.11.2010 (Чт) 16:36

Было похожее, но не только в exe. Попробуй в событии Form_Load прописать в конце Me.Show :)
#define ROFL 0xDDDD


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

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

Сейчас этот форум просматривают: AhrefsBot, Google-бот, Yandex-бот и гости: 101

    TopList  
cron