Проблема с компиляцией программы в EXE, VB 6 - PullRequest
2 голосов
/ 08 апреля 2009

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

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

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

Ответы [ 3 ]

6 голосов
/ 08 апреля 2009

Вы просто должны запустить приложение в IDE с помощью Start (F5) - это не делает полную компиляцию, поэтому не будет отлавливать все ошибки компиляции. Я предлагаю вам всегда использовать Start With Full Compile (Ctrl + F5) - тогда он покажет вам, где находятся ошибки.

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

5 голосов
/ 08 апреля 2009

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

5 голосов
/ 08 апреля 2009

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

Это означает, что когда вы помещаете строку в целое число, тогда vb сообщит вам об этом сразу, или, по крайней мере, когда вы нажмете "run" В режиме слабой типизации программа будет работать до тех пор, пока не обнаружит ошибку, например «Sub или Function notfined», а затем произойдет сбой.

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

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

...