Usuário com melhor resposta
An unhandled exception of type 'System.StackOverflowException' occurred in Modelo.dll

Pergunta
-
Pessoal,
estou aqui há horas tentando resolver o erro de "An unhandled exception of type 'System.StackOverflowException' occurred in Modelo.dll", mas não estou conseguindo.
Será que poderiam me informar com resolver?
Segue minhas classes:
Classe Modelo Familiar
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Modelo { public class ModeloFamiliar { private int idFamiliar; public int IdFamiliar { get { return this.IdFamiliar; } set { this.idFamiliar = value; } } private String nomeFamiliar; public String NomeFamiliar { get { return this.NomeFamiliar; } set { this.nomeFamiliar = value; } } private String dataNascFamiliar; public String DataNascFamiliar { get { return this.dataNascFamiliar; } set { this.dataNascFamiliar = value; } } private String cpfFamiliar; public String CpfFamiliar { get { return this.cpfFamiliar; } set { this.cpfFamiliar = value; } } private String rgFamiliar; public String RgFamiliar { get { return this.rgFamiliar; } set { this.rgFamiliar = value; } } private String estadocivilFamiliar; public String EstadoCivilFamiliar { get { return this.estadocivilFamiliar; } set { this.estadocivilFamiliar = value; } } private String religiaoFamiliar; public String ReligiaoFamiliar { get { return this.religiaoFamiliar; } set { this.religiaoFamiliar = value; } } private String profissaoFamiliar; public String ProfissaoFamiliar { get { return this.profissaoFamiliar; } set { this.ProfissaoFamiliar = value; } } private String enderecoFamiliar; public String EnderecoFamiliar { get { return this.enderecoFamiliar; } set { this.EnderecoFamiliar = value; } } private String complFamiliar; public String ComplFamiliar { get { return this.complFamiliar; } set { this.ComplFamiliar = value; } } private String bairroFamiliar; public String BairroFamiliar { get { return this.bairroFamiliar; } set { this.BairroFamiliar = value; } } private String cidadeFamiliar; public String CidadeFamiliar { get { return this.cidadeFamiliar; } set { this.CidadeFamiliar = value; } } private String ufFamiliar; public String UfFamiliar { get { return this.ufFamiliar; } set { this.ufFamiliar = value; } } private String cepFamiliar; public String CepFamiliar { get { return this.cepFamiliar; } set { this.cepFamiliar = value; } } private String celFamiliar; public String CelFamiliar { get { return this.celFamiliar; } set { this.celFamiliar = value; } } private String telFamiliar; public String TelFamiliar { get { return this.telFamiliar; } set { this.telFamiliar = value; } } private String nomerecup; public String NomeRecup { get { return this.nomerecup; } set { this.NomeRecup = value; } } private String regimerecup; public String RegimeRecup { get { return this.regimerecup; } set { this.RegimeRecup = value; } } private String parentescoFamiliar; public String ParentescoFamiliar { get { return this.parentescoFamiliar; } set { this.ParentescoFamiliar = value; } } private String fotoFamiliar; public String FotoFamiliar { get { return this.fotoFamiliar; } set { this.fotoFamiliar = value; } } private String digitalFamiliar; public String DigitalFamiliar { get { return this.digitalFamiliar; } set { this.digitalFamiliar = value; } } private String ocorrenciaFamiliar; public String OcorrenciaFamiliar { get { return this.ocorrenciaFamiliar; } set { this.ocorrenciaFamiliar = value; } } private String trabalhaForaFamiliar; public String TrabalhaForaFamiliar { get { return this.trabalhaForaFamiliar; } set { this.TrabalhaForaFamiliar = value; } } } }
Classe DALFamiliar
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.SqlClient; using Modelo; using System.Data; namespace DAL { public class DALFamiliar { private DALConexao conexao; public DALFamiliar(DALConexao cx) { this.conexao = cx; } public void Incluir(ModeloFamiliar modelo) { SqlCommand cmd = new SqlCommand(); cmd.Connection = conexao.ObjetoConexao; cmd.CommandText = "INSERT INTO tb_familiar(nomeFamiliar," + "datanascFamiliar" + "cpfFamiliar, " + "rgFamiliar," + "estadocivilFamiliar," + "religiaofamiliar, " + "profissaoFamiliar," + "enderecoFamiliar," + "complFamiliar, " + "bairroFamiliar," + "cidadeFamiliar, " + "ufFamiliar, " + "cepFamiliar, " + "telFamiliar, " + "celFamiliar," + "nomerecup" + "parentescorecup," + "regimerecup" + "fotoFamiliar, " + "digitalFamiliar" + "ocorrenciaFamiliar" + "trabalhaforaFamiliar" + "VALUES" + "@nomeFamiliar," + "@datanascFamiliar," + "@cpfFamiliar, " + "@rgFamiliar, " + "@estadocivilFamiliar," + "@religiaoFamiliar, " + "@profissaoFamiliar," + "@enderecoFamiliar, " + "@complFamiliar, " + "@bairroFamiliar," + "@cidadeFamiliar, " + "@ufFamiliar, " + "@cepFamiliar, " + "@telFamiliar," + "@celFamiliar," + "@nomerecup" + "@parentescorecup," + "@regimerecupr" + "@fotoFamiliar," + "@digitalFamiliar, " + "@ocorrenciaFamiliar," + "@trabalhaforaFamiliar); SELECT @@IDENTITY;"; cmd.Parameters.AddWithValue("@nomeFamiliar" , modelo.NomeFamiliar); cmd.Parameters.AddWithValue("@datanascFamiliar" , modelo.DataNascFamiliar); cmd.Parameters.AddWithValue("@cpfFamiliar" , modelo.CpfFamiliar); cmd.Parameters.AddWithValue("@rgFamiliar" , modelo.RgFamiliar); cmd.Parameters.AddWithValue("@estadocivilFamiliar" , modelo.EstadoCivilFamiliar); cmd.Parameters.AddWithValue("@religiaoFamiliar" , modelo.ReligiaoFamiliar); cmd.Parameters.AddWithValue("@profissaoFamiliar" , modelo.ProfissaoFamiliar); cmd.Parameters.AddWithValue("@enderecoFamiliar" , modelo.EnderecoFamiliar); cmd.Parameters.AddWithValue("@complFamiliar" , modelo.ComplFamiliar); cmd.Parameters.AddWithValue("@bairroFamiliar" , modelo.BairroFamiliar); cmd.Parameters.AddWithValue("@cidadeFamiliar" , modelo.CidadeFamiliar); cmd.Parameters.AddWithValue("@ufFamiliar" , modelo.UfFamiliar); cmd.Parameters.AddWithValue("@cepFamiliar" , modelo.CelFamiliar); cmd.Parameters.AddWithValue("@telFamiliar" , modelo.TelFamiliar); cmd.Parameters.AddWithValue("@celFamiliar" , modelo.CelFamiliar); cmd.Parameters.AddWithValue("@nomerecup", modelo.NomeRecup); cmd.Parameters.AddWithValue("@parentescorecup", modelo.ParentescoFamiliar); cmd.Parameters.AddWithValue("@regimerecup", modelo.RegimeRecup); cmd.Parameters.AddWithValue("@fotoFamiliar" , modelo.FotoFamiliar); cmd.Parameters.AddWithValue("@digitalFamiliar" , modelo.DigitalFamiliar); cmd.Parameters.AddWithValue("@ocorrenciaFamiliar" , modelo.OcorrenciaFamiliar); cmd.Parameters.AddWithValue("@trabalhaforaFamiliar", modelo.TrabalhaForaFamiliar); conexao.Conectar(); modelo.IdFamiliar = Convert.ToInt32(cmd.ExecuteScalar()); conexao.Desconectar(); } public void Alterar(ModeloFamiliar modelo) { SqlCommand cmd = new SqlCommand(); cmd.Connection = conexao.ObjetoConexao; cmd.CommandText = "UPDATE tb_familiar SET" + "nomeFamiliar = @nomFamiliar" + "datanascFamiliar = @datanascFamiliar" + "cpfFamiliar = @cpfFamiliar" + "rgfamiliar = @rgfamiliar" + "estadocivilFamiliar = @estadocivelFamiliar" + "religiaoFamiliar = @religiaoFamiliar" + "profissaoFamiliar = @profissaoFamiliar" + "enderecofamiliar = @enderecoFamiliar" + "complFamiliar = @complFamiliar" + "bairroFamiliar = @bairroFamiliar" + "cidadeFamiliar = @cidadeFamiliar" + "ufFamiliar = @ufFamiliar" + "cepFamiliar = @cepFamiliar" + "telFamiliar = @telFamiliar" + "celFamiliar = @celFamiliar" + "nomerecup = @nomerecupFamiliar"+ "regimerecup =@regimerecup "+ "parentescorecup = @parentescorecupFamiliar" + "fotoFamiliar = @fotoFamiliar" + "digitalFamiliar = @digitalFamiliar" + "ocorrenciaFamiliar = @ocorrenciaFamiliar" + "trabalhaforaFamiliar = @trabalhaforaFamiliar" + "WHERE idFamiliar = @idFamiliar"; cmd.Parameters.AddWithValue("@idFamiliar" , modelo.IdFamiliar); cmd.Parameters.AddWithValue("@nome_familiar" , modelo.NomeFamiliar); cmd.Parameters.AddWithValue("@datanascFamiliar" , modelo.DataNascFamiliar); cmd.Parameters.AddWithValue("@cpfFamiliar" , modelo.CpfFamiliar); cmd.Parameters.AddWithValue("@rgFamiliar" , modelo.RgFamiliar); cmd.Parameters.AddWithValue("@estadocivil" , modelo.EstadoCivilFamiliar); cmd.Parameters.AddWithValue("@religiaoFamiliar" , modelo.ReligiaoFamiliar); cmd.Parameters.AddWithValue("@profissaofamiliar" , modelo.ProfissaoFamiliar); cmd.Parameters.AddWithValue("@enderecoFamiliar" , modelo.EnderecoFamiliar); cmd.Parameters.AddWithValue("@complFamiliar" , modelo.ComplFamiliar); cmd.Parameters.AddWithValue("@bairroFamiliar" , modelo.BairroFamiliar); cmd.Parameters.AddWithValue("@cidadeFamiliar" , modelo.CidadeFamiliar); cmd.Parameters.AddWithValue("@ufFamiliar" , modelo.UfFamiliar); cmd.Parameters.AddWithValue("@cepFamiliar" , modelo.CelFamiliar); cmd.Parameters.AddWithValue("@telFamiliar" , modelo.TelFamiliar); cmd.Parameters.AddWithValue("@celFamiliar" , modelo.CelFamiliar); cmd.Parameters.AddWithValue("@nomerecupr", modelo.NomeRecup); cmd.Parameters.AddWithValue("@parentescorecupr", modelo.ParentescoFamiliar); cmd.Parameters.AddWithValue("@regimerecup", modelo.RegimeRecup); cmd.Parameters.AddWithValue("@fotoFamiliar" , modelo.FotoFamiliar); cmd.Parameters.AddWithValue("@digitalFamiliar" , modelo.DigitalFamiliar); cmd.Parameters.AddWithValue("@ocorrenciaFamiliar" , modelo.OcorrenciaFamiliar); cmd.Parameters.AddWithValue("@trabalhaforaFamiliar", modelo.TrabalhaForaFamiliar); conexao.Conectar(); cmd.ExecuteNonQuery(); conexao.Desconectar(); } public void Excluir(int idFamiliar) { SqlCommand cmd = new SqlCommand(); cmd.Connection = conexao.ObjetoConexao; cmd.CommandText = "DELETE FROM tb_familiar WHERE idFamiliar = @idFamiliar;"; cmd.Parameters.AddWithValue("@idFamiliar", idFamiliar); conexao.Conectar(); cmd.ExecuteNonQuery(); conexao.Desconectar(); } public DataTable Localizar(String valor) { DataTable tabela = new DataTable(); SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM tb_usuario WHERE nome_familiar LIKE '%" + valor + "%'", conexao.StringConexao); //SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM tb_familiar WHERE nome_familiar LIKE '%" + //valor + "%'", conexao.StringConexao); da.Fill(tabela); return tabela; } public ModeloFamiliar CarregaModeloFamiliar (int idFamiliar) { ModeloFamiliar modelo = new ModeloFamiliar(); SqlCommand cmd = new SqlCommand(); cmd.Connection = conexao.ObjetoConexao; cmd.CommandText = "SELECT * FROM tb_familiar WHERE idFamiliar = @idFamiliar"; cmd.Parameters.AddWithValue("@idFamiliar", idFamiliar); conexao.Conectar(); SqlDataReader registro = cmd.ExecuteReader(); if(registro.HasRows) { registro.Read(); modelo.IdFamiliar = Convert.ToInt32(registro["idFamiliar"]); modelo.NomeFamiliar = Convert.ToString(registro["nomeFamiliar"]); modelo.DataNascFamiliar = Convert.ToString(registro["datanascFamiliar"]); modelo.CpfFamiliar = Convert.ToString(registro["cpfFamiliar"]); modelo.RgFamiliar = Convert.ToString(registro["rgFamiliar"]); modelo.EstadoCivilFamiliar = Convert.ToString(registro["estadocivilFamiliar"]); modelo.ReligiaoFamiliar = Convert.ToString(registro["religiao_familiar"]); modelo.ProfissaoFamiliar = Convert.ToString(registro["profissaoFamiliar"]); modelo.EnderecoFamiliar = Convert.ToString(registro["enderecoFamiliar"]); modelo.ComplFamiliar = Convert.ToString(registro["complFamiliar"]); modelo.BairroFamiliar = Convert.ToString(registro["bairroFamiliar"]); modelo.CidadeFamiliar = Convert.ToString(registro["cidadeFamiliar"]); modelo.UfFamiliar = Convert.ToString(registro["ufFamiliar"]); modelo.CepFamiliar = Convert.ToString(registro["cepFamiliar"]); modelo.TelFamiliar = Convert.ToString(registro["telFamiliar"]); modelo.CelFamiliar = Convert.ToString(registro["celFamiliar"]); modelo.NomeRecup = Convert.ToString(registro["nomerecup"]); modelo.ParentescoFamiliar = Convert.ToString(registro["parentescorecup"]); modelo.RegimeRecup = Convert.ToString(registro["regimerecup"]); modelo.FotoFamiliar = Convert.ToString(registro["fotoFamiliar"]); modelo.DigitalFamiliar = Convert.ToString(registro["digitalFamiliar"]); modelo.OcorrenciaFamiliar = Convert.ToString(registro["ocorrenciaFamiliar"]); modelo.TrabalhaForaFamiliar = Convert.ToString(registro["trabalhaforaFamiliar"]); } conexao.Desconectar(); return modelo; } } }
BLLFamiliar
using DAL; using Modelo; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BLL { public class BLLFamiliar { private DALConexao conexao; public BLLFamiliar(DALConexao cx) { this.conexao = cx; } public void Incluir(ModeloFamiliar modelo) { if(modelo.NomeFamiliar.Trim().Length == 0) { throw new Exception("O nome do familiar é obrigatório!"); } modelo.NomeFamiliar = modelo.NomeFamiliar.ToUpper(); //todo o texto ficará com letra maiúscula if(modelo.DataNascFamiliar.Trim().Length == 0) { throw new Exception("Favor informar a data de nascimento do familiar!"); } DALFamiliar DALobj = new DALFamiliar(conexao); DALobj.Incluir(modelo); } public void Alterar(ModeloFamiliar modelo) { if(modelo.IdFamiliar <= 0) { throw new Exception("O código do familiar é obrigatório!"); } if (modelo.NomeFamiliar.Trim().Length == 0) { throw new Exception("O nome do familiar é obrigatório!"); } modelo.NomeFamiliar = modelo.NomeFamiliar.ToUpper(); //todo o texto ficará com letra maiúscula if (modelo.DataNascFamiliar.Trim().Length == 0) { throw new Exception("Favor informar a data de nascimento do familiar!"); } DALFamiliar DALobj = new DALFamiliar(conexao); DALobj.Alterar(modelo); } public void Excluir(int idFamiliar) { DALFamiliar DALobj = new DALFamiliar(conexao); DALobj.Excluir(idFamiliar); } public DataTable Localizar(String valor) { DALFamiliar DALobj = new DALFamiliar(conexao); return DALobj.Localizar(valor); } public ModeloFamiliar CarregaModeloFamiliar (int idFamiliar) { DALFamiliar DALobj = new DALFamiliar(conexao); return DALobj.CarregaModeloFamiliar(idFamiliar); } } }
E este á o formulario
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Modelo; using DAL; using BLL; namespace GUI { public partial class FormCadastroFamiliar : GUI.FormModeloDeFormulariodeCadastro { public FormCadastroFamiliar() { InitializeComponent(); } public void LimpaTela() { txtNome.Clear(); txtCpf.Clear(); txtRg.Clear(); txtDataNasc.Clear(); cbxEstadoCivil.SelectedIndex = -1; txtEndereco.Clear(); txtBairro.Clear(); txtComplemento.Clear(); cbxUF.SelectedIndex = 1; txtTel.Clear(); txtCel.Clear(); txtNomeRecup.Clear(); cbxParentesco.SelectedIndex = -1; cbxRegime.SelectedIndex = 1; txtReligiao.Clear(); txtProfissao.Clear(); txtOcorrenciaFamiliar.Clear(); cbxTrabalhaFora.SelectedIndex = -1; } private void FormCadastroFamiliar_Load(object sender, EventArgs e) { this.alteraBotoes(1); } private void btnNovo_Click(object sender, EventArgs e) { this.operacao = "inserir"; this.alteraBotoes(2); } private void pnDados_Paint(object sender, PaintEventArgs e) { } private void btnCancelar_Click(object sender, EventArgs e) { //limpar a tela this.LimpaTela(); this.alteraBotoes(1); } private void btnSalvar_Click(object sender, EventArgs e) { ModeloFamiliar modelo = new ModeloFamiliar(); try { //leitura dos dados modelo.NomeFamiliar = txtNome.Text; modelo.CpfFamiliar = txtCpf.Text; modelo.RgFamiliar = txtRg.Text; modelo.DataNascFamiliar = txtDataNasc.Text; modelo.EstadoCivilFamiliar = cbxEstadoCivil.Text; modelo.ReligiaoFamiliar = txtReligiao.Text; modelo.ProfissaoFamiliar = txtProfissao.Text; modelo.EnderecoFamiliar = txtEndereco.Text; modelo.ComplFamiliar = txtComplemento.Text; modelo.BairroFamiliar = txtBairro.Text; modelo.CidadeFamiliar = txtCidade.Text; modelo.UfFamiliar = cbxUF.Text; modelo.CepFamiliar = txtCep.Text; modelo.TelFamiliar = txtTel.Text; modelo.CelFamiliar = txtCel.Text; modelo.NomeRecup = txtNomeRecup.Text; modelo.ParentescoFamiliar = cbxParentesco.Text; modelo.RegimeRecup = cbxRegime.Text; modelo.FotoFamiliar = txtFoto.Text; modelo.DigitalFamiliar = txtDigital.Text; modelo.OcorrenciaFamiliar = txtOcorrenciaFamiliar.Text; modelo.TrabalhaForaFamiliar = cbxTrabalhaFora.Text; //objeto para gravar os dadso no banco DALConexao cx = new DALConexao(DadosDaConexao.StringDeConexao); BLLFamiliar BLL = new BLLFamiliar(cx); if (operacao == "inserir") { //cadastrar um familiar BLL.Incluir(modelo); MessageBox.Show("Familiar: " + modelo.NomeFamiliar + ",cadastrato com sucesso!"); } else { //alterar um familiar modelo.IdFamiliar = Convert.ToInt32(txtIdFamiliar.Text); BLL.Alterar(modelo); } } catch (Exception erro) { MessageBox.Show(erro.Message); } } } }
Agradeço a todas a informações.
kildare
Respostas
-
Olá colega, quando tiver um problema precisa ser mais especifico você praticamente despejou seu código inteiro aqui, ai fica difícil avaliar, um detalhe que peguei logo na primeira classe é o seguinte, você tem um atributo privado começando com letra minuscula e um publico começando com letra maiuscula, em alguns lugares vocês esta misturando as coisa, segue copia de seu codigo
private String nomeFamiliar; public String NomeFamiliar { get { return this.NomeFamiliar; } set { this.nomeFamiliar = value; } }
Neste caso você esta informando que o retorno é sua variável publica NomeFamiliar com letra maiúscula quando deveria informar o nomeFamiliar com letra minuscula, este tipo de erro é encontrado em outros pontos de sua classe também, como EderecoFamiliar, BairroFamiliar etc... verifique todo seu código, uma dica para não se confundir mais é usar o underline nos atributos privados exemplo
private String _NomeFamiliar; public String NomeFamiliar { get { return this._NomeFamiliar; } set { this._NomeFamiliar = value; } }
assim você não se confunde mais com letras maiúsculas e minusculas,
este método de construção é muito útil quando precisamos blindar nossa classe e esta vai atuar como uma DLL sendo consumida por outra aplicação onde o usuário não terá o acesso a esta classe somente vai consumir sua DLL, evitando que este possa informar valores inválidos e/ou indesejados. Porem se você esta trabalhando com esta classe em seu próprio sistema e sabe exatamente o que faz é muito mais pratico trabalhar diretor com o atributo publico assim
public String NomeFamiliar {get; set;}
Ajuste seu código teste novamente e poste aqui se deu certo, ok ?
Se a resposta contribuiu com seu aprendizado por favor marque como Útil
Se solucionou seu problema por favor marque como Resposta
Atenção, se seu problema foi resolvido não deixe o post aberto
Visite : www.codigoexpresso.com.br
- Editado Código Expresso quinta-feira, 21 de julho de 2016 11:26
- Marcado como Resposta Robson William SilvaModerator sexta-feira, 22 de julho de 2016 13:37
-
Gostaria de agradecer pela dica, caro colega. Refiz os gets e sets, agora está rodando tranquilo. Mais uma vez desculpe por descarregar o código. Da próxima, tentarei ser mais específico nas dúvidas postadas.
kildare
- Marcado como Resposta kjgomes sexta-feira, 22 de julho de 2016 02:22
-
Ok, só não esqueça de fechar o post e marcar a resposta
Se a resposta contribuiu com seu aprendizado por favor marque como Útil
Se solucionou seu problema por favor marque como Resposta
Atenção, se seu problema foi resolvido não deixe o post aberto
Visite : www.codigoexpresso.com.br- Marcado como Resposta kjgomes sexta-feira, 22 de julho de 2016 14:05
Todas as Respostas
-
Olá colega, quando tiver um problema precisa ser mais especifico você praticamente despejou seu código inteiro aqui, ai fica difícil avaliar, um detalhe que peguei logo na primeira classe é o seguinte, você tem um atributo privado começando com letra minuscula e um publico começando com letra maiuscula, em alguns lugares vocês esta misturando as coisa, segue copia de seu codigo
private String nomeFamiliar; public String NomeFamiliar { get { return this.NomeFamiliar; } set { this.nomeFamiliar = value; } }
Neste caso você esta informando que o retorno é sua variável publica NomeFamiliar com letra maiúscula quando deveria informar o nomeFamiliar com letra minuscula, este tipo de erro é encontrado em outros pontos de sua classe também, como EderecoFamiliar, BairroFamiliar etc... verifique todo seu código, uma dica para não se confundir mais é usar o underline nos atributos privados exemplo
private String _NomeFamiliar; public String NomeFamiliar { get { return this._NomeFamiliar; } set { this._NomeFamiliar = value; } }
assim você não se confunde mais com letras maiúsculas e minusculas,
este método de construção é muito útil quando precisamos blindar nossa classe e esta vai atuar como uma DLL sendo consumida por outra aplicação onde o usuário não terá o acesso a esta classe somente vai consumir sua DLL, evitando que este possa informar valores inválidos e/ou indesejados. Porem se você esta trabalhando com esta classe em seu próprio sistema e sabe exatamente o que faz é muito mais pratico trabalhar diretor com o atributo publico assim
public String NomeFamiliar {get; set;}
Ajuste seu código teste novamente e poste aqui se deu certo, ok ?
Se a resposta contribuiu com seu aprendizado por favor marque como Útil
Se solucionou seu problema por favor marque como Resposta
Atenção, se seu problema foi resolvido não deixe o post aberto
Visite : www.codigoexpresso.com.br
- Editado Código Expresso quinta-feira, 21 de julho de 2016 11:26
- Marcado como Resposta Robson William SilvaModerator sexta-feira, 22 de julho de 2016 13:37
-
-
Gostaria de agradecer pela dica, caro colega. Refiz os gets e sets, agora está rodando tranquilo. Mais uma vez desculpe por descarregar o código. Da próxima, tentarei ser mais específico nas dúvidas postadas.
kildare
- Marcado como Resposta kjgomes sexta-feira, 22 de julho de 2016 02:22
-
Ok, só não esqueça de fechar o post e marcar a resposta
Se a resposta contribuiu com seu aprendizado por favor marque como Útil
Se solucionou seu problema por favor marque como Resposta
Atenção, se seu problema foi resolvido não deixe o post aberto
Visite : www.codigoexpresso.com.br- Marcado como Resposta kjgomes sexta-feira, 22 de julho de 2016 14:05