Ir para conteúdo
rtavix

Message "Operação inválida em um objeto fechado" string

Recommended Posts

Amigos, ao compilar minha aplicação me deparei com o seguinte problema:

Como posso solucionar isso?

'ImportComprovante.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'ImportComprovante.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Users\robson.amaral\source\repos\ImportComprovante\ImportComprovante\ImportComprovante\bin\Debug\ImportComprovante.exe'. Symbols loaded. 'ImportComprovante.exe' (CLR v4.0.30319: ImportComprovante.exe): Loaded 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\PrivateAssemblies\Runtime\Microsoft.VisualStudio.Debugger.Runtime.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'ImportComprovante.exe' (CLR v4.0.30319: ImportComprovante.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Oracle.ManagedDataAccess\v4.0_4.122.1.0__89b483f429c47342\Oracle.ManagedDataAccess.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'ImportComprovante.exe' (CLR v4.0.30319: ImportComprovante.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'ImportComprovante.exe' (CLR v4.0.30319: ImportComprovante.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'ImportComprovante.exe' (CLR v4.0.30319: ImportComprovante.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'ImportComprovante.exe' (CLR v4.0.30319: ImportComprovante.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Transactions\v4.0_4.0.0.0__b77a5c561934e089\System.Transactions.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'ImportComprovante.exe' (CLR v4.0.30319: ImportComprovante.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'ImportComprovante.exe' (CLR v4.0.30319: ImportComprovante.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'ImportComprovante.exe' (CLR v4.0.30319: ImportComprovante.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_pt-BR_b77a5c561934e089\mscorlib.resources.dll'. Module was built without symbols. 'ImportComprovante.exe' (CLR v4.0.30319: ImportComprovante.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.resources\v4.0_4.0.0.0_pt-BR_b77a5c561934e089\System.Xml.resources.dll'. Module was built without symbols. 'ImportComprovante.exe' (CLR v4.0.30319: ImportComprovante.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 'ImportComprovante.exe' (CLR v4.0.30319: ImportComprovante.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.Wrapper.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. The thread 0x4a14 has exited with code 0 (0x0). The thread 0x1b10 has exited with code 0 (0x0). The thread 0x7324 has exited with code 0 (0x0). The thread 0x8334 has exited with code 0 (0x0). 'ImportComprovante.exe' (CLR v4.0.30319: ImportComprovante.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.resources\v4.0_4.0.0.0_pt-BR_b77a5c561934e089\System.resources.dll'. Module was built without symbols. 'ImportComprovante.exe' (CLR v4.0.30319: ImportComprovante.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core.resources\v4.0_4.0.0.0_pt-BR_b77a5c561934e089\System.Core.resources.dll'. Module was built without symbols. The thread 0x23f4 has exited with code 0 (0x0). Exception thrown: 'System.InvalidOperationException' in Oracle.ManagedDataAccess.dll The thread 0xadd4 has exited with code 0 (0x0). Exception thrown: 'System.InvalidOperationException' in ImportComprovante.exe Exception thrown: 'System.InvalidOperationException' in ImportComprovante.exe 'ImportComprovante.exe' (CLR v4.0.30319: ImportComprovante.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Transactions.resources\v4.0_4.0.0.0_pt-BR_b77a5c561934e089\System.Transactions.resources.dll'. Module was built without symbols. System.Transactions Critical: 0 : http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/UnhandledExceção não tratadaImportComprovante.exeSystem.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089Operação inválida em um objeto fechado em Oracle.ManagedDataAccess.Client.OracleDataReader.IsDBNull(Int32 i) em Oracle.ManagedDataAccess.Client.OracleDataReader.GetValue(Int32 i) em Oracle.ManagedDataAccess.Client.OracleDataReader.get_Item(Int32 i) em Oracle.ManagedDataAccess.Client.OracleDataReader.get_Item(String columnName) em ImportComprovante.LeituraTxt.GetCodProcInter(String CodBarra) na C:\Users\robson.amaral\source\repos\ImportComprovante\ImportComprovante\ImportComprovante\LeituraTxt.cs:linha 220 em ImportComprovante.LeituraTxt.ProcessaArquivo(String FullPathFile, String FileName) na C:\Users\robson.amaral\source\repos\ImportComprovante\ImportComprovante\ImportComprovante\LeituraTxt.cs:linha 192 em ImportComprovante.LeituraTxt.VerificarHorario() na C:\Users\robson.amaral\source\repos\ImportComprovante\ImportComprovante\ImportComprovante\LeituraTxt.cs:linha 52 em System.Threading.ThreadHelper.ThreadStart_Context(Object state) em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) em System.Threading.ThreadHelper.ThreadStart()System.InvalidOperationException: Operação inválida em um objeto fechado em Oracle.ManagedDataAccess.Client.OracleDataReader.IsDBNull(Int32 i) em Oracle.ManagedDataAccess.Client.OracleDataReader.GetValue(Int32 i) em Oracle.ManagedDataAccess.Client.OracleDataReader.get_Item(Int32 i) em Oracle.ManagedDataAccess.Client.OracleDataReader.get_Item(String columnName) em ImportComprovante.LeituraTxt.GetCodProcInter(String CodBarra) na C:\Users\robson.amaral\source\repos\ImportComprovante\ImportComprovante\ImportComprovante\LeituraTxt.cs:linha 220 em ImportComprovante.LeituraTxt.ProcessaArquivo(String FullPathFile, String FileName) na C:\Users\robson.amaral\source\repos\ImportComprovante\ImportComprovante\ImportComprovante\LeituraTxt.cs:linha 192 em ImportComprovante.LeituraTxt.VerificarHorario() na C:\Users\robson.amaral\source\repos\ImportComprovante\ImportComprovante\ImportComprovante\LeituraTxt.cs:linha 52 em System.Threading.ThreadHelper.ThreadStart_Context(Object state) em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) em System.Threading.ThreadHelper.ThreadStart() An unhandled exception of type 'System.InvalidOperationException' occurred in ImportComprovante.exe Operação inválida em um objeto fechado

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 25/05/2018 at 08:55, quintelab disse:

Tem certeza que é quando compila ? 

Parece erro quando executa nessa linha: repos\ImportComprovante\ImportComprovante\ImportComprovante\LeituraTxt.cs:linha 220

Opa consegui resolver essa parte mas do nada, deu pau no meu log que mostro para o usuário, esta trazendo de forma desordenado, como eu poderia usar a ordenação da linha para quando mostrar o log, vim os logs ordenados:

 

protected void importar_Click(object sender, EventArgs e)
        {

			DataTable Dados = new DataTable();
			//Aqui uso para pegar o indice da linha pelo Data Table
			Dados.Columns.Add("indice", typeof(int));

                        int i = 1;
                        foreach (DataRow linha in Dados.Rows)
                        {
                            linha["indice"] = i;
                            i++;
                        }

				private System.Threading.Tasks.Task ProcessamentoTabela(IEnumerable<DataRow> dadosparam, int i, Usuario usuarioLogado)
        {
            //usuarioLogado = aplUsuario.buscaPorLogin(ObterUsuarioAutenticado().Login);
            i = 4;
            i++;
            Action<object> processamento = (dados) =>
            {
                /*if (NHibernate.Context.ThreadStaticSessionContext.HasBind(NhibernateHelper.SessionFactory.))*/
                NHibernate.Context.ThreadStaticSessionContext.Bind(NhibernateHelper.HelpThreading().OpenSession());

                foreach (var linha in (IEnumerable<DataRow>)dados)
                {
                  
                   if (processo != null)
                    {
                        //se o processo não for nulo busco todos procinter relacionados a ele
                        List<ProcessoInteressado> listaprocinter = aplProcessoInteressado.consultarPorIdProcesso(processo.Codigo);
                        if (listaprocinter.Exists(o => o.Interessado == interessado))
                          
                          	//Aqui eu passo o indice correto, porém não vem em ordem.
                            log.Append("O interessado informado na linha " + (linha["indice"]) + " foi adicionado novamente ao processo " + processo.NumProcessoJudicial + " <br>");
                        //log.Append("O interessado " + processo.Interessado.Nome + " foi adicionado novamente ao processo " + processo.NumProcessoJudicial + " <br>");
                        // log.Append("O interessado " + processo.Interessado.Nome + " foi adicionado novamente ao processo " + processo.NumProcessoJudicial + " <br>");
                        setProcInter(processo, interessado, linha, i);
                    }

                    else
                    {
                        //Novo Processo - 6.3
                        processo = new Processo();
                  }
       }
     }
  }

Como poderia fazer? Só achei estranho porque deu pau nessa parte.

 

Log de Importação:
 

O interessado informado na linha 88 foi adicionado novamente ao processo 0003100-97.2016.8.08.0035 
O interessado informado na linha 148 foi adicionado novamente ao processo 0001818-78.2016.8.08.0017 
O interessado informado na linha 70 foi adicionado novamente ao processo 0001643-45.2017.8.08.0051 
O interessado informado na linha 194 foi adicionado novamente ao processo 0002763-90.2015.8.08.0020 
O interessado informado na linha 145 foi adicionado novamente ao processo 0000237-21.2017.8.08.0008 
O interessado informado na linha 25 foi adicionado novamente ao processo 0002695-18.2012.8.08.0030 
O interessado informado na linha 326 foi adicionado novamente ao processo 0001800-66.2009.8.08.0061 
O interessado informado na linha 376 foi adicionado novamente ao processo 0000646-51.2015.8.08.0045 
O interessado informado na linha 447 foi adicionado novamente ao processo 0003289-74.2017.8.08.0024 
O interessado informado na linha 351 foi adicionado novamente ao processo 0001003-79.2014.8.08.0008 
O interessado informado na linha 567 foi adicionado novamente ao processo 0001608-22.2016.8.08.0051 
O interessado informado na linha 432 foi adicionado novamente ao processo 0000037-54.2017.8.08.0027 
O interessado informado na linha 501 foi adicionado novamente ao processo 0000696-93.2013.8.08.0030 
O interessado informado na linha 551 foi adicionado novamente ao processo 0000403-21.2016.8.08.0030 
O interessado informado na linha 493 foi adicionado novamente ao processo 0001556-71.2016.8.08.0036 
O interessado informado na linha 523 foi adicionado novamente ao processo 0000141-13.2017.8.08.0038 
O interessado informado na linha 375 foi adicionado novamente ao processo 0000403-21.2016.8.08.0030 
O interessado informado na linha 524 foi adicionado novamente ao processo 0003568-52.2016.8.08.0038 

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 horas atrás, quintelab disse:

Vai ter que importar System.Linq

 

Antes do seu foreach:
 


dados = dados.OrderBy(dr => dr["indice"]);

 

Quintelab, bom dia!

 

Tentei implementar a sua sugestão dentro do método da thread:

 

private System.Threading.Tasks.Task ProcessamentoTabela(IEnumerable<DataRow> dadosparam, int i, Usuario usuarioLogado)
        {
            //usuarioLogado = aplUsuario.buscaPorLogin(ObterUsuarioAutenticado().Login);
            i = 4;
            i++;
            
            Action<object> processamento = (dados) =>
            {
                /*if (NHibernate.Context.ThreadStaticSessionContext.HasBind(NhibernateHelper.SessionFactory.))*/
                NHibernate.Context.ThreadStaticSessionContext.Bind(NhibernateHelper.HelpThreading().OpenSession());
                
                foreach (var linha in (IEnumerable<DataRow>)dados)
                {
                    
                    List<Processo> listaProcessoExistente = new List<Processo>();
                    Processo processo = null;
                    Interessado interessado = new Interessado();

                    //busca o processo pelo nº judicial anterior ou atual
                    if (!linha.ItemArray[1].ToString().Equals(""))
                        processo = aplProcesso.consultar---ProcessoER(linha.ItemArray[1].ToString());
                    if (processo == null)
                    {
                        if (!linha.ItemArray[2].ToString().Equals(""))
                            processo = aplProcesso.consultar---ProcessoER(linha.ItemArray[2].ToString());
                    }

                    //busca o interessado por cpf/cnpj
                    if (linha.ItemArray[7].ToString().Length == 14)
                        interessado = aplInteressado.ConsultarPorCPF(AuxiliarCPF_CNPJ.DesformataCPF(linha.ItemArray[7].ToString()));

                    if (linha.ItemArray[7].ToString().Length == 18)
                        interessado = aplInteressado.ConsultarPorCPF(AuxiliarCPF_CNPJ.DesformataCNPJ(linha.ItemArray[7].ToString()));

                    if (processo != null)
                    {
                        
                        //se o processo não for nulo busco todos procinter relacionados a ele
                        List<ProcessoInteressado> listaprocinter = aplProcessoInteressado.consultarPorIdProcesso(processo.Codigo);
                        if (listaprocinter.Exists(o => o.Interessado == interessado))
                            log.Append("O interessado informado na linha " + (linha["indice"]) + " foi adicionado novamente ao processo " + processo.NumProcessoJudicial + " <br>");
                        //log.Append("O interessado " + processo.Interessado.Nome + " foi adicionado novamente ao processo " + processo.NumProcessoJudicial + " <br>");
                        // log.Append("O interessado " + processo.Interessado.Nome + " foi adicionado novamente ao processo " + processo.NumProcessoJudicial + " <br>");
                        setProcInter(processo, interessado, linha, i);
                    }

                    else
                    {
                        //Novo Processo - 6.3
                        processo = new Processo();
  					}
  }

antes do:

 Action<object> processamento = (dados) =>
            {
                /*if (NHibernate.Context.ThreadStaticSessionContext.HasBind(NhibernateHelper.SessionFactory.))*/
                NHibernate.Context.ThreadStaticSessionContext.Bind(NhibernateHelper.HelpThreading().OpenSession());
                
                foreach (var linha in (IEnumerable<DataRow>)dados)
                {
   
   				}
            }

Tentei colocar da seguinte forma como sugerido:

 

dados = dados.OrderBy(dr => dr["indice"]);

porém apareceu a seguinte mensagem:

 

Error    1    'object' does not contain a definition for 'OrderBy' and no extension method 'OrderBy' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)    D:\Repositório SVN\SDP\SDPJ\branches\SDPJ-V3.1.0\SDPJ-102\SDPJView\ImportacaoProcessoView\ImportacaoProcesso.aspx.cs    201    25    SDPJView
 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 horas atrás, quintelab disse:

Vai ter que importar System.Linq

 

Antes do seu foreach:
 


dados = dados.OrderBy(dr => dr["indice"]);

 

Eu consigo fazer a ordenação no inicio?

Pois por aqui eu pego o indice do DataTable:

if (selecionarArquivo.FileContent != null)
                    {
                        string Excel = AppDomain.CurrentDomain.BaseDirectory + selecionarArquivo.FileName;
                        selecionarArquivo.SaveAs(Excel);
                        Dados = DadosExcel(Excel);

                        Dados.Columns.Add("indice", typeof(int));
                        
                        int i = 1;
                        foreach (DataRow linha in Dados.Rows)
                        {
                           linha["indice"] = i;
                            i++;
                        }
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 28/05/2018 at 04:48, quintelab disse:

Vai ter que importar System.Linq

 

Antes do seu foreach:
 


dados = dados.OrderBy(dr => dr["indice"]);

 

Quintelab, essa sua sugestão que você postei no caso tenho que adicionar ela antes do foreach do método de importar ou do método da threading?

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 horas atrás, quintelab disse:

Esse erro é por que você não adicionou System.Linq na suas namespace. Você precisa adicionar.

Mas eu tenho o using System.Linq adicionado, mesmo assim aparece aquele erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por laumello12
      Galera ajudinha
      Como faço para consumir um web service pronto em um projeto. Preciso só que ele busque no web service e traga na web 
      HELP
    • Por ValérinhaSilva255
      Precisamos criar um teatro, onde utilizaremos os conceitos de uma matriz em C#. Esta matriz, deverá ter, no máximo, 150 lugares.

      O programa deverá reservar uma poltrona, cobrando para isso do usuário 40% do valor total do ingresso, que deverá ser informado na tela inicial do programa.

      Quando ocupada uma poltrona, o usuário poderá pagar 60% ou 100% do valor total (caso esteja ou não reservada anteriormente). No caso de desmarcação de reserva, deverá ser devolvido 50% do valor da reserva (portanto, 20% do valor total do ingresso).

      O programa poderá ocupar, reservar, liberar poltronas.
      Um espetáculo somente poderá acontecer se a arrecadação total for maior ou igual a 51% do valor total do teatro. 

      Quando o teatro for fechado, pede-se para que se informe:
      Total de Lugares reservados: XX
      Valor total das reservas: R$00,00
      Total de Lugares Ocupados: YY
      Valor total de Ocupantes: R$00,00
      Total de Lugares Livres: ZZ

      Mínimo para realização do Evento: R$999,99. Valor Total Arrecadado: R$989,00
      Se o valor arrecadado for MAIOR que 51% do mínimo para realização, deverá ACONTECER o espetáculo, caso contrário, mostrar quantos locais ainda precisariam ser ocupados, da seguinte forma: Precisaríamos de 10 lugares Ocupados ou 30 lugares reservados para que o espetáculo pudesse ocorrer.

      O visitante deverá ter o “mapa” de cadeiras a sua disposição.

      O visitante irá escolher sua posição informando fileira e cadeira desejada.
      EXEMPLO DE EXECUÇÃO
      PREÇO DO INGRESSO: R$100,00

      ***** ***** ****** Mapa do Teatro ***** ***** *****

      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

      ***** ***** ****** Mapa do Teatro ***** ***** *****

      O que você deseja fazer?
      [0] - Finalizar o programa
      [1] - Abrir Espetáculo
      [2] - Reservar uma poltrona
      [3] - Liberar poltrona reservada
      [4] - Vender poltrona
      [7] - Finalizar vendas
      [9] - Parciais do Espetáculo

      Resumo das Operações:
      0 - Finaliza o programa e retorna para o sistema operacional.
      1 - Libera a sala do teatro, para que o programa possa ser executado outras vezes, para outros espetáculos (Zera todas as variáveis).
      2 - Reservar poltrona (Cobrar 40% do valor do ingresso)
      3 - Liberar poltrona reservada (Devolve 20% do valor do ingresso)
      4 - Vender poltrona (Recebe valor integral do ingresso - 100%)
      7 - Finalizar vendas (listar todos os resultados)
      9 - Parciais (saber quanto esta pago em cada situação. Reservas, vendas, etc.) Pode ser solicitado a qualquer momento.
    • Por Fiori
      Eu, estou cursando SI, e estou no primeiro semestre, o professor passou uma lista de exercícios, consegue resolver todos mas quando cheguei nesse não consigo resolver.
      O exercício é esse:  "Entrar via teclado com o sexo de determinado usuário, aceitar somente “F” ou “M” como respostas válidas.".
      Independente se a resposta for "F", "f", "M", "m" ou qualquer outra o loop do Do se repete. Oque preciso fazer para acontecer o if?
      string genero; Console.Clear(); Console.WriteLine("Caso seja mulher, digite [F]."); Console.WriteLine("Caso seja homem, digite [M]."); genero = Console.ReadLine(); do { Console.WriteLine("Valor invalido."); Console.WriteLine("Digite [F] ou [M]."); genero = Console.ReadLine(); } while (genero != "F" || genero != "M"); if (genero == "F" || genero == "M") { Console.WriteLine("Esse valor foi aceito."); Console.ReadKey(); }
       
    • Por Jonathacsantos
      Boa tarde, sou novo na programação, comecei por conta própria e agora estou com um pequeno problema, meu programa depende de uma pasta criada pra executar um .exe que fica dentro de uma outra pasta, sendo que eu preciso que ele leia o .exe independente de onde ele fica instalado, vou mostrar uma parte do código para tentar explicar 
      private void AcessRemo_Click(object sender, EventArgs e) { foreach ( var process in Process.GetProcessesByName("TeamViewer")) { process.Kill(); } Process.Start("C:\\Teste\\suporteremoto.exe"); ele fecha um teamviewer em execução e executa uma versão especifica do teamviewer, sendo que nos meus testes funciona pq eu tenho essa pasta ai chamada teste, mas o programa instala em Program Files, sendo que se for 64, ele vai pra Program Files (x86), dai gostaria de fazer ele ler, tipo um [LocalPath] , mas não sei como , se alguem puder me ajudar ou me da uma luz eu agradeço muito.
    • Por lucasrodrigues
      Estou com esse problema ao tentar vincular uma tabela do MySql a um DataSet. Utilizo o MySqlConnector 8.0.13, MySql-For-VisualStudio 1.2.8.

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.