Ir para conteúdo
Fórum Script Brasil
  • 0

Esperar Função Terminar


Manwë Súlimo

Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0

tipo eu tenho uma função p/ baixar um arquivo, exemplo:


baixar "c:\teste.exe","http://www.seila.com.br/arquivo.exe"

shell "c:\teste.exe"

ai a função baixa o arquivo do segundo parametro e salvo com o nome do primeiro parametro, o problema é que antes de baixar o arquivo, o código já executa o comando shell.. e dá a mensagem que o arquivo não foi encontrado...

é ele nào foi encontrado por que ainda não foi baixado totalmente, eu queria que ele só executasse o comando shell depois que o função baixar estivesse terminada.... em outras palavras, já tivesse baixado todo o arquivo...

como faz isso??

Link para o comentário
Compartilhar em outros sites

  • 0

Normalmente o fluxo de execução só segue após o término de uma função (há quem possa dizer que a função Shell() é uma exceção, porém não é). No entanto, o que existe na função Baixar pode fazer com que a execução continue antes de baixar o arquivo (mas, note que a função de fato terminou). O que existe nela? O ideal seria mostrar o código da função.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0


Function baixar(LocalArquivo As String, LocalURLArquivo As String) As Boolean
     baixar = False
     On Error GoTo Baixa_erro
     Dim bt() As Byte

     
     Open LocalArquivo For Binary Access Write As #1
     bt() = form_principal.baixa.OpenURL(LocalURLArquivo, icByteArray)
     
     Put #1, , bt()
     Close #1
     baixar = True
     Exit Function
Baixa_erro:
     MsgBox "Não foi possivel verificar se há atualizações pendentes." _
    & vbCrLf & "Verifique sua conexão com a internet!", vbCritical, "Falha ao verificar"
     baixar = False
     Close #1
End Function

Public Sub Verifica()


    n = FreeFile
    Open App.Path & "\versao.txt" For Output As #n
        Print #n, App.Major & App.Minor & App.Revision
    Close #n


   Dim versao As String
   Dim programa As String
   
If baixar(App.Path & "\atual.txt", "http://fredericobe.sites.uol.com.br/cotr/versao.cotr") Then
                n = FreeFile
                
                Open App.Path & "\atual.txt" For Input As #n
                    Line Input #n, versao
                Close #n
                
                n = FreeFile
                
                Open App.Path & "\versao.txt" For Input As #n
                    Line Input #n, programa
                Close #n
                
              
                
            If CInt(versao) > CInt(programa) Then
                o que = MsgBox("Exite uma versão mais recente deste programa diponivel." _
                & vbCrLf & "Deseja instalá-la agora? ", vbYesNo + vbInformation, "Atualização disponível!")
                    
                    If o que = vbYes Then
                                                
                        
                      
                        
                     baixar App.Path & "\atualiza.exe", "http://site.com.br/arquivos/atualiza.exe"
                      Shell App.Path & "\atualiza.exe"
                    
                    Else
                        MsgBox "É aconcelhavel que você esteja sempre com a versão mais atual do Programa." _
                        & vbCrLf & "Não esqueça de atualizar o mais rápido possivel!", vbInformation, "Atualização"
                    End If
                
            End If
            
        

End If
End Sub


assim tá o código...

e na hora de dar o shell ele fala que o arquivo não existe....

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...