Это работает хорошо на меня, когда мне нужен он. Это проверяет, чтобы видеть, нажал ли пользователь клавишу выхода для выхода из цикла.
Примечание, что это имеет действительно большой недостаток: это обнаружит, если пользователь поразит клавишу выхода в КАКОЕ-ЛИБО приложение - не просто Ваш. Но и это - большой прием в разработке, когда Вы хотите дать себе способ прервать длительный цикл или способ удержать клавишу Shift для обхода небольшого количества кода.
Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Sub Command1_Click()
Do
Label1.Caption = Now()
Label1.Refresh
If WasKeyPressed(vbKeyEscape) Then Exit Do
Loop
Label1.Caption = "Exited loop successfully"
End Sub
Function WasKeyPressed(ByVal plVirtualKey As Long) As Boolean
If (GetAsyncKeyState(plVirtualKey) And &H8000) Then WasKeyPressed = True
End Function
Документация для GetAsyncKeyState здесь:
http://msdn.microsoft.com/en-us/library/ms646301 (По сравнению с 85) .aspx
You could compile it for x86 instead of any cpu that way it will run against 32bit librarys on a 64bit windows.
Or swap 32bit librarys for 64bit when installning on 64bit windows. Among other some Sqlite dlls are specific for 32/64 bit
In the build settings for you project set the platform target to x86 instead of Any CPU. This will solve problems where your project has "hidden" dependendencies on 32 bit subsystems that are not available in 64 bit. Your application will then run in the 32 bit susbsystem on 64 bit Windows.
Я столкнулся с той же проблемой. В моем случае было достаточно скомпилировать основную сборку (.exe) моего приложения специально для "x86". Другие сборки (.dll) скомпилированы с использованием «Any CPU».
Наше приложение отлично работает в 32-битных и 64-битных системах.
It should just run unless you're referencing libraries that are specifically only available for 32bit (Jet DB drivers are one example) or unless you've told your compiler to compile your application to 32bit only.
What does the crash say?
Если вы работаете в Windows, вы должны использовать CorFlags Инструмент преобразования ( CorFlags.exe ). Таким образом вы можете заставить приложение / dll работать в 32- или 64-битном пространстве. Подробности и примеры использования доступны на сайте http://msdn.microsoft.com/en-us/library/ms164699 (VS.80) .aspx .
Это приложение Windows / ASP.NET?
Если это приложение ASP.NET. вы можете запускать только 32/64-битные режимы одновременно. Для этого,
Случай 1. Вам необходимо Enable32bitApplication
в пуле приложений в IIS.
Затем сбросьте IIS.
Случай 2. Проверьте соответствующую DLL в regedit.
Если это Windows, запустите эту команду из командной строки Visual Studio,
CorFlags.exe TheApp.exe /32BIT+ //Enables 32 bit application.