Zapobieganie występowaniu komunikatów o błędzie „Switch To” (Przełącz na) lub „Application Busy” (Aplikacja zajęta) przy użyciu automatyzacji OLE

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 240809 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Streszczenie

Podczas używania automatyzacji OLE z inną aplikacją, taką jak Microsoft Word, można napotkać na następujący komunikat o błędzie, jeśli jest używany system Microsoft Windows NT 4.0, Windows 2000, Windows XP lub Windows Server 2003:
Nie można ukończyć tej akcji, ponieważ inna aplikacja jest zajęta. Wybierz przycisk 'Przełącz do', aby aktywować zajętą aplikację i usuń problem.
W wypadku korzystania z systemu Windows 95 lub Windows 98 może pojawić się następujący komunikat o błędzie:
Nie można ukończyć tej czynności, gdyż inny program jest zajęty. Kliknij odpowiedni przycisk na pasku zadań, aby aktywować program i usuń problem.

Więcej informacji

Ten komunikat o błędzie jest spowodowany zazwyczaj tym, że w aplikacji uruchomionej przez mechanizm OLE jest otwarte okno dialogowe, do którego należy wprowadzić dane wejściowe. Ten komunikat o błędzie można wyeliminować, używając właściwości OLERequestPendingTimeout. Ta właściwość określa czas, po którym jest wykonywane żądanie automatyzacji, zanim zostanie wyświetlony komunikat o zajętości. Domyślnie jest to pięć sekund i ta wartość jest podana w milisekundach. Jeśli zostanie ustawiony limit czasu równy 0, program Microsoft Visual FoxPro będzie czekać w nieskończoność na inną aplikację. Komunikat o zajętości nie będzie wyświetlony niezależnie od tego, czy będzie oczekiwało żądanie automatyzacji, czy wystąpi zdarzenie myszy bądź klawiatury.
  1. Utwórz program i wpisz następujący kod:
    oWord=CREATEOBJECT("Word.Application")
    APPLICATION.OLERequestPendingTimeout = 0   && 0 means no busy error message
    WITH oword                                 && Change to 100 to see busy
                                               && message
       .Documents.ADD
       .Dialogs(88).SHOW                       && Open the Word Print dialog
       .APPLICATION.QUIT(0)                    && Quit and don't save changes
    ENDWITH
    						
  2. Uruchom program i kliknij okno programu Microsoft Visual FoxPro, gdy pojawi się okno Drukowanie programu Word. Nie zostanie wyświetlony komunikat o błędzie wspomniany wcześniej.
  3. Aby ujrzeć komunikat o błędzie, zmień wartość OLERequestPendingTimeout na względnie niską, na przykład 100.
  4. Uruchom kod ponownie i kliknij okno programu Microsoft Visual FoxPro, gdy pojawi się okno Drukowanie programu Word. Tym razem pojawi się jeden z komunikatów o błędzie wymienionych w sekcji „Podsumowanie” .

Materiały referencyjne

Pomoc online programu Visual FoxPro, wersja 6.0; poszukać hasła „OLERequestPendingTimeout”

Właściwości

Numer ID artykułu: 240809 - Ostatnia weryfikacja: 3 stycznia 2008 - Weryfikacja: 3.1
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Visual FoxPro 5.0 Standard Edition
  • Microsoft Visual FoxPro 6.0 Professional Edition
  • Microsoft Visual FoxPro 7.0 Professional Edition
  • Microsoft Visual FoxPro 8.0 Professional Edition
  • Microsoft Visual FoxPro 9.0 Professional Edition
Słowa kluczowe: 
kbhowto kbcodesnippet kbautomation KB240809

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com