Konu: IE penceresi algılandmiyor
Herkese merhaba
* Program bir IE penceresi açıyor.
* Orda EXECSCRIPT ile bir JavaScript tetikliyor
* Bu tetikleme sonucu bir 2. İE penceresi açılıyor.
* Program 1. İE penceresini kapatıyor ve 2. pencere ile işlemler yapmaya başlıyor.
Sorunsuz çalışıyor. XP, Vista, Win7, 32bit veya 64bit. Yaklaşık 40 müşteride denendi.
Ama birkaç müşteride program 2. pencerenin açıldığını algılıyamiyor. Yani 2. pencere açılıyor, ama program belli bir süre sonra 2. penceryei algılamadığı için, işlemi durduruyor.
Müşteri bilgisayarına format atıp Windows'u tekrar yüklerse, program sorunsuz çalışıyor.
Sorun şurda:
oShell = CREATEOBJECT("Shell.Application")
oShellWin = oShell.WINDOWS
FOR nIdx = 0 TO oShellWin.COUNT
objCurShellWin = oShellWin.ITEM(nIdx)
IF TYPE('objCurShellWin') == "O" AND !ISNULL(objCurShellWin) THEN
IF objCurShellWin.VISIBLE == FALSE
LOOP
ENDIF
IF TYPE("objCurShellWin.HWND") == "N" AND ( objCurShellWin.HWND == nHandle )
THIS.oIE.QUIT
Sleep(500)
DOEVENTS
THIS.oIE = objCurShellWin
IF !THIS.while_ie_busy(30)
EXIT
ENDIF
lGefunden = TRUE
EXIT
ENDIF
ENDIF
ENDFOR
Eskiden burası biraz daha sade idi. Ama bu sorun yüzünden "şunuda kontrol edeyim", "bunuda kontrol edeyim" derken birkaç IF THEN vs. eklendi.
Bu yukardaki kod yerine başka bir yöntem ile daha sağlıklı bir çözüm öneriniz varmı?
İlginiz için teşekkürler.
Mehmet