Есть 2 программы основная и второстепенная. В основной программе производится запуск второстепенной с передачей хендла окна
Во второстепенной программе производится проверка наличия окна основной программы
При том что в основной программе WinExists($Form1) =1 в дочерней почему-то WinExists($Form1) = 0
При отображении списка WinList() во второстепенной программе есть окно главной программы и именно с тем хендлом который передается второстепенной программе.
Массивы хендла StringToASCIIArray в основной и второстепенной программе одинаковые.
Почему второстепенная программа не видит окна основной программы по хендлу?
Код:
Func RunAllComponents()
For $CNum=1 To $ComponentsArr[0]
If Not FileExists($ScriptDir&$ComponentsArr[$CNum]) Then Msg(16, 'Отсутсвует один из компонентов программы - '&$ComponentsArr[$CNum])
Run($ScriptDir&$ComponentsArr[$CNum]&' ParentWinHandle='&$Form1)
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $ScriptDir = ' & $ScriptDir&$ComponentsArr[$CNum]&' ParentWinHandle='&$Form1 & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $ScriptDir = ' & WinExists($Form1) & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console, результат - 1
Next
$rr=StringToASCIIArray($Form1)
_ArrayDisplay($rr)
EndFunc
Во второстепенной программе производится проверка наличия окна основной программы
Код:
Func ParentTestExist()
If Not WinExists($Form1) Then
Msg(16, 'Нет родительского окна, программа будет завершена'& @CRLF & $Form1 & @CRLF & WinExists($Form1) & @CRLF & WinGetTitle($Form1) )
$rr=StringToASCIIArray($Form1)
_ArrayDisplay($rr)
$arr=WinList()
_ArrayDisplay($arr)
Exit
EndIf
EndFunc
При том что в основной программе WinExists($Form1) =1 в дочерней почему-то WinExists($Form1) = 0
При отображении списка WinList() во второстепенной программе есть окно главной программы и именно с тем хендлом который передается второстепенной программе.
Массивы хендла StringToASCIIArray в основной и второстепенной программе одинаковые.
Почему второстепенная программа не видит окна основной программы по хендлу?