none
Como pegar o tempo de resposta de um aplicativo. RRS feed

  • Pergunta

  • Em minha aplicação, o serviço abre um doc do word, capta o conteudo e eu armazeno este conteúdo em uma variavel.
    Em alguns casos quando aplicação abre um .doc, e o documento por algum motivo esta somente leitura, ou tem senha, ele fica esperando interversão do usuário para continuar, tela tipica do word.
    Gostaria de saber, como em minha aplicação posso fazer para que ela execute a abertura do documento, e caso não haja resposta em X segundos, tomar outro caminho e ler o próximo documento.

    Preciso saber se tem como eu poderia implementar em executar a abertura do .doc, caso não consiga ler o conteudo em x segundos seguir com a aplicação.


    Ederson Lima
    sexta-feira, 19 de junho de 2009 12:47

Respostas

  •  

    Coloquei como true assim o documento sermpre será executado com somente leitura.
    Agora existe o caso do documento estar com algum erro interno e forçar o travamento do word.
    Existe alguma forma de eu saber se o word esta travado para tomar uma decisao dentro do aplicativo e fechar o processo?

    'Força o documento abrir somente leitura, evita que o Word solicite intervenção do usuario.
    objWord.Documents.OpenNoRepairDialog(strCaminho & FileName, , True, , "1234")


    Ederson Lima
    • Marcado como Resposta Ederson Lima terça-feira, 23 de junho de 2009 20:19
    sexta-feira, 19 de junho de 2009 20:03
  • Usei uma Thread

    a =

    New Thread(AddressOf ExecutaWord)

    f =

    New Thread(AddressOf FechaWord)

    a.Start()

    f.Start()


    E no metodo de fechar Word coloquei um sleep de 20 segundos.
    Entao como em Thread os dois metodos são executados ao mesmo tempo, se em 20 segundos o metodo executa Word não fizer o que tem de fazer ele é finalizado.

    Public

     

    Sub FechaWord()

    Thread.Sleep(20000)

     

    Dim arrayProcesses As Process() = Process.GetProcessesByName("WINWORD")

     

    For Each unitProcess As Process In arrayProcesses

    unitProcess.Kill()

     

    Next

     

    End Sub


    Ederson Lima
    • Marcado como Resposta Ederson Lima terça-feira, 23 de junho de 2009 20:19
    terça-feira, 23 de junho de 2009 20:19

Todas as Respostas

  •  

    Coloquei como true assim o documento sermpre será executado com somente leitura.
    Agora existe o caso do documento estar com algum erro interno e forçar o travamento do word.
    Existe alguma forma de eu saber se o word esta travado para tomar uma decisao dentro do aplicativo e fechar o processo?

    'Força o documento abrir somente leitura, evita que o Word solicite intervenção do usuario.
    objWord.Documents.OpenNoRepairDialog(strCaminho & FileName, , True, , "1234")


    Ederson Lima
    • Marcado como Resposta Ederson Lima terça-feira, 23 de junho de 2009 20:19
    sexta-feira, 19 de junho de 2009 20:03
  • Usei uma Thread

    a =

    New Thread(AddressOf ExecutaWord)

    f =

    New Thread(AddressOf FechaWord)

    a.Start()

    f.Start()


    E no metodo de fechar Word coloquei um sleep de 20 segundos.
    Entao como em Thread os dois metodos são executados ao mesmo tempo, se em 20 segundos o metodo executa Word não fizer o que tem de fazer ele é finalizado.

    Public

     

    Sub FechaWord()

    Thread.Sleep(20000)

     

    Dim arrayProcesses As Process() = Process.GetProcessesByName("WINWORD")

     

    For Each unitProcess As Process In arrayProcesses

    unitProcess.Kill()

     

    Next

     

    End Sub


    Ederson Lima
    • Marcado como Resposta Ederson Lima terça-feira, 23 de junho de 2009 20:19
    terça-feira, 23 de junho de 2009 20:19