Проблема с компиляцией программы в EXE, VB 6

Недавно я отредактировал программу сбора данных моего сокурсника в соответствии со своими требованиями. Программа отлично работает, когда я запускаю в Visual Basic 6, однако в идеале я хотел бы скомпилировать программу в файл .exe, чтобы я мог запускать ее с любого ПК. Однако, когда я выбираю вариант, чтобы превратить его в exe, я получаю следующую ошибку во время его компиляции:

Ошибка компиляции: подпрограмма или функция не определены.

Мне было любопытно, почему моя программа запускается из Visual Basic, но не может быть скомпилирована в exe. Будем очень признательны за любые исправления / предложения!


person Sam    schedule 08.04.2009    source источник


Ответы (3)


в начале каждого файла напишите "явная опция ". Это изменяет поведение vb со слабой типизации на строго типизированное.

Это означает, что когда вы помещаете строку в целое число, vb сразу же скажет вам, или, по крайней мере, когда вы нажмете «запустить». В режиме со слабой типизацией программа будет работать до тех пор, пока не обнаружит ошибку, например «Подложка или функция не определена», а затем завершится сбой.

Когда вы компилируете в «exe», vb необходимо выполнить дополнительные проверки работоспособности, как если бы это делал «option explicit». Вот почему вы не видите проблемы при нормальном выполнении. Он все еще там, скрывается, но вы, вероятно, не выполняете проблемную строку.

Очень важно, чтобы вы использовали это ключевое слово в каждом исходном файле vb, иначе вы будете постоянно сталкиваться с подобными проблемами.

person Eric    schedule 08.04.2009
comment
Этот и предыдущие ответы помогли мне понять, как скомпилировать мою программу. Очевидно, парень, который до меня кодировал это программное обеспечение, не учел много объявлений переменных. Поэтому мне пришлось пройти и фактически объявить все необъявленные переменные. После этого программа скомпилировалась нормально. - person Sam; 09.04.2009

Вы должны просто запустить приложение в среде IDE с помощью кнопки «Пуск» (F5) - при этом не выполняется полная компиляция, поэтому не будут обнаружены все ошибки компиляции. Я предлагаю вам всегда использовать «Начать с полной компиляции» (Ctrl + F5) - тогда он покажет вам, где находятся ошибки.

Вы можете создать настраиваемую кнопку на панели управления для запуска с полной компиляцией - экономия времени на вводе CTRL + F5.

person DJ.    schedule 08.04.2009

Это позволяет запускать программу, даже если она не компилируется из-за Компиляция по запросу, поддерживаемая IDE. Как отмечалось в других сообщениях, вы можете CTRL-F5 выполнить полную компиляцию, или вы можете перейти в Параметры -> Общие и отключить Компиляцию по запросу ... (экономит много CTRL-F5)

person cmsjr    schedule 08.04.2009
comment
Параметры - ›Редактор и включите« Требовать объявление переменной »- еще один обязательный параметр. - person Patrick McDonald; 08.04.2009
comment
+1 Я был достаточно одержим, чтобы написать ответ со своим списком обязательных настроек :) stackoverflow.com/questions/664370/ - person MarkJ; 08.04.2009