Ошибка после создания исполнительного .exe файла - VB

Узнай цену своей работы

Формулировка задачи:

Добрый день! Столкнулся с непонятной для себя проблемой. Программу внутри студии работает - всё как надо. Пытаюсь сделать .exe через "Make .exe". Всё формируется. Запускаю - главная форма включается, кнопки функционируют. Но, когда нажимаю кнопку по запуску процедуры подвисает и выпадает ошибка: "Windows прекращает работу программы" Сигнатура проблемы: Имя события проблемы: APPCRASH ... Имя модуля с ошибкой: MSVBVM60.DLL Версия модуля с ошибкой: 6.0.98.15 Думал, может где я накосячил. Скачал из готовых примеров (предлагаемых на форуме) - Многопоточность в Visual Basic Запускаю приложенный в архиве exe файл. Потоки запускаются. Но, после закрытия программы - та же ошибка, что и у меня. Пробовал запускать от администратора и с разрешением проблемы совместимости. Скачал данную библиотеку, закинул в System32, через regsvr32.exe зарегистрировал, перезагрузил компьютер - беда осталась...Как быть я не знаю..Может знает кто, как победить?

Решение задачи: «Ошибка после создания исполнительного .exe файла»

textual
Листинг программы
Option Explicit
Private mThreadID As Long
Public hThread As Long
Private Declare Function CreateThread Lib "kernel32" (lpThreadAttributes
As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long,
lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadID As Long)
As Long
Private Declare Function GetExitCodeThread Lib "kernel32" (ByVal hThread
As Long, lpExitCode As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle
As Long, ByVal dwMilliseconds As Long) As Long
 
Private Sub Command1_Click()
ExitThread
End Sub
Private Sub Form_Load()
     Dim TID As Long
     hThread = CreateThread(ByVal 0&, ByVal 0&, AddressOf Cross, ByVal
0&, 0, TID)
     mThreadID = TID
End Sub
Private Sub Form_Unload(cancel As Integer)
     ExitThread
  End Sub
Private Sub ExitThread()
     Dim Ret As Long
     if modJulia.Cross Then
      modJulia.Cross = false
     GetExitCodeThread hThread, Ret
     if Ret = &H103& then
     WaitForSingleObject hThread, &HFFFFFFFF
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5