Ir ao conteúdo
  • Cadastre-se

Regis Silva

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

posts postados por Regis Silva

  1. Sim iria funcionar, só que usando ANDALSO se uma condição falha as outras não são verificadas. Usando AND todas são verificadas. Em resumo, usando ANDALSO você ganha em performance e evita erros ao verificar objetos vazios, nulos ou inexistentes. Veja o exemplo:

     

    
     Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    
     
    
        Dim VETOR As String() = {}
    
     
    
        'A primeira condição falha, a segunda não é verificada e a execução do programa segue normalmente
        If VETOR.Length <> 0 AndAlso VETOR(0) = "x" Then
        End If
    
     
    
        'A primeira condição falha, a segunda é verificada e ocorre o erro, pois não existe o elemento índice '0' no vetor
        If VETOR.Length <> 0 And VETOR(0) = "x" Then
    
     
    
        End If
    
     
    
      End Sub
    
    

    Aplique o mesmo raciocínio para 'OR' e 'ORELSE'


    Se lhe ajudou, marque como útil/resposta.

    • Curtir 1
  2. Preciso executar um mesmo script diversas vezes seguidas só que após 40 minutos executando dá erro de falta de memória.

    Para facilitar, o exemplo não passa parâmetros nem retorna valores e o código do script resume-se apenas à declaração da subrotina.

    Eu tentei os itens abaixo não adiantou.

     

    1) cppPARAMETROS.GenerateInMemory = False

     

    2) Após a execução do script 'GC.Collect'

     

    Alguma sugestão?

     

    -----------------------------------------------------------------------------------------------------

    Imports System.CodeDom.Compiler
    Imports System.Reflection
    
    Public Class Form1
    
      Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    
        Do
          subScript_Executar()
          My.Application.DoEvents()
           Loop
    
      End Sub
    
    
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    
      Private Sub subScript_Executar()
    
        Dim cppPARAMETROS = New CompilerParameters()
        cppPARAMETROS.GenerateExecutable = False
        cppPARAMETROS.GenerateInMemory = True
    
        Dim cdpCOMPILADOR As CodeDomProvider = CodeDomProvider.CreateProvider("VisualBasic")
    
        'O erro ocorre nessa linha
        Dim cprCOMPILACAO As CompilerResults = cdpCOMPILADOR.CompileAssemblyFromSource(cppPARAMETROS,
          "Public Class Classe_Subrotina" & vbCrLf &
          "  Public Sub Subrotina" & vbCrLf &
          "  End Sub" & vbCrLf &
          "End Class")
    
        Dim objCLASSE_COMPILADA_INSTANCIA As Object = cprCOMPILACAO.CompiledAssembly.CreateInstance("Classe_Subrotina")
    
        objCLASSE_COMPILADA_INSTANCIA.GetType().InvokeMember("Subrotina", BindingFlags.InvokeMethod, Nothing, objCLASSE_COMPILADA_INSTANCIA, Nothing)
    
      End Sub
    
    End Class

     

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!