VB6 Timer (), Space () Form_Initialize () вызывает немедленный сбой

Создайте новый проект VB6. Вставьте приведенный ниже код в качестве кода вашего проекта. Хит Беги. Посмотрите, не выйдет ли он из строя ... Удалите или упростите все, что вам нравится, в этом коде, и тогда он будет работать нормально. Кто-нибудь может пролить свет на то, почему это дает сбой?

На данный момент это было протестировано на восьми ПК, на всех из которых установлены различные комбинации Windows XP, Windows Vista, Windows 7, Office 2010 и Office 2007. в тех, где он был протестирован в Visual Basic IDE, установлен Visual Basic 6 SP 6.

Private Sub Sleep(ByVal nSeconds As Long)
    Dim nStart As Long: nStart = Timer
    Do
        DoEvents
    Loop Until (Timer - nStart) >= nSeconds
End Sub

Private Sub Crash()
    Dim sTempPath As String: sTempPath = Space(255)
End Sub

Private Sub Form_Initialize()
    Sleep 1
    Crash
End Sub


Приложение №1:

Я поместил это как макрос в Excel 2010, заменив Form_Initialize () на Workbook_Open () , и, конечно же, когда вы открываете документ . Вылетает!

Приложение №2:

Я добавил точки останова к каждой строке перед нажатием «Выполнить», и она вылетела еще до того, как добралась до первой точки останова. Но опять же, если я что-нибудь упросту или уберу, все будет нормально работать и не выйдет из строя.

Приложение № 3:

Попытка MicSim удалить двоеточие, и это не сбой. Добавил его обратно, запустил снова, и произошел сбой , а не . Закрыл Visual Basic, вставил исходный код, и он рухнул.

Приложение №4:

Подробная информация о проблеме из IDE Visual Basic 6:

Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: VB6.EXE
Версия приложения: 6.0.81.76
Отметка времени приложения: 3592011f
Имя модуля с ошибкой: VBA6.dll
Версия модуля с ошибкой: 6.0.0.8169
Отметка времени модуля с ошибкой: 358b0c74
Код исключения: c0000005
Смещение исключения: 00026329
Версия ОС: 6.1.7601.2.1.0.256.4
Идентификатор языка: 1033
Дополнительная информация 1: 7e3b
Дополнительная информация 2: 7e3beb1e9ccf6d519c5b994ca59a280f
Дополнительная информация 3: 7b83
Дополнительная информация 4: 7b833c57ebcf54809fd3aaccd8ea4f46

Прочтите наше заявление о конфиденциальности в Интернете:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с нашим Заявление о конфиденциальности в автономном режиме:
C: \ Windows \ system32 \ en-US \ erofflps.txt

Приложение № 5:

Сведения о проблеме из Microsoft Excel 2010:

Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: EXCEL.EXE
Версия приложения: 14.0.4756.1000
Отметка времени приложения: 4b9c08e8
Имя модуля с ошибкой: VBE7.DLL
Версия модуля с ошибкой: 7.0.15.90
Отметка времени модуля с ошибкой: 4b7b1248
Код исключения: c0000005
Смещение исключения: 00045b6a
Версия ОС: 6.1.7601.2.1.0.256.4
Идентификатор языка: 1033

Дополнительная информация о проблеме:
LCID: 1033
skulcid: 1033

Прочтите наше заявление о конфиденциальности в Интернете:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с нашим заявлением о конфиденциальности офлайн:
C: \ Windows \ system32 \ en-US \ erofflps.txt

Screenshot after hitting Run, or Build

6
задан Drew Chapin 4 January 2012 в 19:20
поделиться