Народ, направьте мои мысли в нужное русло плиз...
Я создаю activeX контрол для связи с карманным компьютером Pocket PC. При этом я хочу задать таймаут для метода , выполняющего соединение с Pocket PC, и в процессе соединения показывая некое информационное окошко, которое закрывается после timeout миллисекунд.
Вот код
isTimeOuted = False
FormConnect.Label2.Caption = "в течение " & timeOut / 1000 & "секунд"
FormConnect.Timer1.Interval = timeOut
FormConnect.Show (0)
Do ' в цикле пытаемся приконнектится к PocketPC
Call CeRapiInitEx(pRapiInit)
RapiSyncConnect = RapiGetCEOSVersionString <> ""
If RapiSyncConnect Then
FormConnect.Timer1.Enabled = False
Unload FormConnect
Exit Do
End If
DoEvents
If isTimeOuted Then Exit Do
Loop
На форме находится таймер, которому через timeout эту форму захлопывает, устанавливает переменную isTimeOuted в True, после чего происходит выход из цикл в модуле класса (если выход не произошел по причине соединения -(RapiSyncConnect =true))
Если из модуля класса мы показываем форму немодально, то все работает как задумано. - из проектов на VB
Но скомпилированный таким образом компонент не хочет работать из FoxPro и 1С - выдает ошибку, что из active X компонента нельзя показывать форму немодально.
Если эту же форму показывать модально ( FormConnect.Show (1)) , то
после показа этой формы выполнение кода в цикле не продолжается и соединения с покетом не происходит.
Пробовал создавать таймер не на форме , а через createobject, - тоже
тоже ничего не вышло.
Что посоветуете??