ActieX i Vista "Unable to get the window handle for the

0

Problem, jak zobaczylem poruszany w sieci. Bardzo podobny do tego
http://groups.google.com/group/microsoft.public.vsnet.general/browse_thread/thread/cc421e5e6de61e70/043ca3ad10385cde?hl=en&lnk=st&q=System.Reflection.TargetInvocationException%3A+%22Unable+to+get+the+window++handle+for+the%22#043ca3ad10385cde

komunikaty w stylu.

System.Reflection.TargetInvocationException: Nie można pobrać uchwytu okna dla formantu '******'. Formanty ActiveX niepowiązane z oknami nie są obsługiwane. ---> System.AccessViolationException: Nastąpiła próba odczytu lub zapisu pamięci chronionej. Często wskazuje to, że inna pamięć jest uszkodzona.

lub z angielskiego

System.Reflection.TargetInvocationException
Message="Unable to get the window handle for the '******' control. Windowless ActiveX controls are not supported."

Na XP, 2003. Dziala. Na Vista roznie na jednym tak na innym nie (moze jakas aktualizacja ... wersja jezykowa - na angielskim dziala na polskim nie ...).

Moze ktos sie juz spotkal z takim problemem, moze to kaprys srodowiska VS2005 (od czasu do czasu potrafi cos zmienic ...).

Jakies pomysl uwagi, bede wdzieczny.

0

Moze po prostu probojesz sie odwolac do kontrolki activex'owej ktora nie zostala do konca jeszcze stworzona? To by tlumaczylo dlaczego na jednych maszynach to dziala na innych nie.

W sumie mialem podobny problem, gdy recznie dobieralem sie do okien kontrolki activex'owej adobe'a. Wystarczylo dodac sprawdzenie czy handle zostal juz stworzony np poprzez uzycie funkcji winapi findwindow i sprawdzenie czy handle nie jest nullem (chyba nawet lepsza metoda byla do tego, poszukaj na pinvoke, niestety dawno nie robilem nic w winapi). Jesli handle nie istnieje to pewnie za ulamek sekundy zostanie stworzony, jednak przez ten czas dostaniesz exceptiona. Wowczas zwykly sleep w petli i ponowne sprawdzenie handla zalatwi sprawe.

1 użytkowników online, w tym zalogowanych: 0, gości: 1