Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Lau13

Form Que Não Mostra o Erro

Recommended Posts

Lau13

Boa tarde a todos, eu estou a desenvolver uma aplicação para a escola e tenho um form que não me dá erro, isto é, ele tem lá um erro de file not found mas não para o programa para dar o erro, alguém me pode ajudar?

Era importante.

Continuação de uma boa tarde.

Share this post


Link to post
Share on other sites
ribeiro55

Experimenta, fazendo clique direito em cima da solução, fazer "Clean Solution" e depois "Build Solution".

Pode também estar a rebentar numa referência sem código fonte disponível.

Mostra uma captura de ecrã do erro, só para termos a certeza que estamos a falar do mesmo.

Mostra também o que está no Form_Load desse form.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
Lau13

Boa tarde ribeiro55 obrigado por me ajudar. Faço clean Solution em cima do form?

Private Sub FormDetalhesCliente_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

       flag = 1
       CBOcor.AdicionarItem("Amarelo", Color.Gold)
       CBOcor.AdicionarItem("Azul", Color.Blue)
       CBOcor.AdicionarItem("Azul Claro", Color.DodgerBlue)
       CBOcor.AdicionarItem("Azul Escuro", Color.DarkBlue)
       CBOcor.AdicionarItem("Bege", Color.NavajoWhite)
       CBOcor.AdicionarItem("Bordô", Color.DarkRed)
       CBOcor.AdicionarItem("Branco", Color.LightYellow)
       CBOcor.AdicionarItem("Castanho", Color.SaddleBrown)
       CBOcor.AdicionarItem("Ciano", Color.Cyan)
       CBOcor.AdicionarItem("Cinzento", Color.DarkGray)
       CBOcor.AdicionarItem("Cinzento Claro", Color.Gray)
       CBOcor.AdicionarItem("Cinzento Escuro", Color.DimGray)
       CBOcor.AdicionarItem("Cor de Rosa", Color.Pink)
       CBOcor.AdicionarItem("Laranja", Color.Orange)
       CBOcor.AdicionarItem("Laranja Claro", Color.DarkOrange)
       CBOcor.AdicionarItem("Lilás", Color.Violet)
       CBOcor.AdicionarItem("Magenta", Color.Magenta)
       CBOcor.AdicionarItem("Prateado", Color.Silver)
       CBOcor.AdicionarItem("Preto", Color.Black)
       CBOcor.AdicionarItem("Roxo", Color.Purple)
       CBOcor.AdicionarItem("Verde", Color.LimeGreen)
       CBOcor.AdicionarItem("Verde Claro", Color.Lime)
       CBOcor.AdicionarItem("Verde Escuro", Color.DarkGreen)
       CBOcor.AdicionarItem("Vermelho", Color.Red)
       CBOcor.AdicionarItem("Violeta", Color.DarkViolet)

       If dr.IsClosed = False Then dr.Close()
       CBOmodelo.Items.Clear()
       SQLCMD = New MySqlCommand("select marca from marca order by marca", CNN)
       dr = SQLCMD.ExecuteReader()
       While dr.Read
           CBOmarca.Items.Add(dr.GetString(0))
       End While
       dr.Close()
       SQLCMD.Dispose()


       If dr.IsClosed = False Then dr.Close()
       SQLCMD = New MySqlCommand("select marca, modelo, matricula from automovel,cliente,marca,modelo where marca.cod_marca=modelo.cod_marca and automovel.cod_modelo=modelo.cod_modelo and automovel.cod_cliente=cliente.cod_cliente and nome_completo='" & FormFiltrarCliente.LSTcliente.SelectedItem & "'", CNN)
       dr = SQLCMD.ExecuteReader
       While dr.Read()
           CBOautomovel.Items.Add(dr.GetString(0) & " " & dr.GetString(1) & " " & dr.GetString(2))
       End While
       dr.Read()
       matricula = dr.GetString(2)
       If CBOautomovel.Items.Count > 0 Then
           y = 1
           CBOautomovel.SelectedIndex = 0
       End If
       dr.Close()
       SQLCMD.Dispose()


       If dr.IsClosed = False Then dr.Close()
       SQLCMD = New MySqlCommand("select cod_nacionalidade, pais from nacionalidade order by pais", CNN)
       dr = SQLCMD.ExecuteReader
       While dr.Read()
           CBOnacionalidade.Items.Add(dr.GetString(1))
       End While
       dr.Close()
       SQLCMD.Dispose()


       If dr.IsClosed = False Then dr.Close()
       SQLCMD = New MySqlCommand("SELECT distinct cod_postal FROM codigo_postal", CNN)
       dr = SQLCMD.ExecuteReader()
       While dr.Read
           CBOcod_postal.Items.Add(dr.GetInt32(0))
       End While
       dr.Close()
       SQLCMD.Dispose()

       PCTsave.Enabled = False
       'PCTsave.Image = Image.FromFile("E:\Claudio\PAP\PAP Aplicação Desktop\Icons\save enabled.png")
       PCTsave.Image = Image.FromFile("M:\Claudio\PAP\PAP Aplicação Desktop\Icons\save enabled.png")


       If FormPesquisarCliente.TXTnome.Text <> "Insira o Nome..." Then
           If dr.IsClosed = False Then dr.Close()
           SQLCMD = New MySqlCommand("SELECT cod_cliente,nome_completo, data_nascimento, pais, morada,localidade, cod_postal,cod_area,ccidadao,nif,contacto,mail, password FROM cliente,nacionalidade where cliente.cod_nacionalidade=nacionalidade.cod_nacionalidade and nome_completo='" & FormFiltrarCliente.LSTcliente.Text & "'", CNN)
           dr = SQLCMD.ExecuteReader()

           If dr.Read() Then

               LBLcod.Text = dr.GetInt32(0)
               TXTnome.Text = dr.GetString(1)
               CBOano.Text = Mid(dr.GetString(2), 1, 4)
               CBOmes.Text = Mid(dr.GetString(2), 6, 2)
               CBOdia.Text = Mid(dr.GetString(2), 9, 2)
               CBOnacionalidade.Text = dr.GetString(3)
               TXTmorada.Text = dr.GetString(4)
               LBLlocalidade.Text = dr.GetString(5)
               CBOcod_postal.Text = dr.GetInt32(6)
               CBOcod_area.Text = dr.GetInt32(7)
               TXTccidadao.Text = dr.GetInt32(8)
               TXTnif.Text = dr.GetInt32(9)
               TXTcontacto.Text = dr.GetInt32(10)
               TXTmail.Text = dr.GetString(11)
           End If
           dr.Close()
           SQLCMD.Dispose()

       ElseIf FormPesquisarCliente.TXTnif.Text <> "Insira o NIF..." Then
           SQLCMD = New MySqlCommand("SELECT cod_cliente,nome_completo, data_nascimento, pais, morada,localidade, cod_postal,cod_area,ccidadao,nif,contacto,mail, password FROM cliente,nacionalidade where cliente.cod_nacionalidade=nacionalidade.cod_nacionalidade and nif=" & FormFiltrarCliente.LSTcliente.Text & "", CNN)
           dr = SQLCMD.ExecuteReader()

           If dr.Read() Then

               LBLcod.Text = dr.GetInt32(0)
               TXTnome.Text = dr.GetString(1)
               CBOano.Text = Mid(dr.GetString(2), 1, 4)
               CBOmes.Text = Mid(dr.GetString(2), 6, 2)
               CBOdia.Text = Mid(dr.GetString(2), 9, 2)
               CBOnacionalidade.Text = dr.GetString(3)
               TXTmorada.Text = dr.GetString(4)
               LBLlocalidade.Text = dr.GetString(5)
               CBOcod_postal.Text = dr.GetInt32(6)
               CBOcod_area.Text = dr.GetInt32(7)
               TXTccidadao.Text = dr.GetInt32(8)
               TXTnif.Text = dr.GetInt32(9)
               TXTcontacto.Text = dr.GetInt32(10)
               TXTmail.Text = dr.GetString(11)
           End If
           dr.Close()
           SQLCMD.Dispose()

       ElseIf FormPesquisarCliente.TXTcontacto.Text <> "Insira o Contacto..." Then
           SQLCMD = New MySqlCommand("SELECT cod_cliente,nome_completo, data_nascimento, pais, morada,localidade, cod_postal,cod_area,ccidadao,nif,contacto,mail, password FROM cliente,nacionalidade where cliente.cod_nacionalidade=nacionalidade.cod_nacionalidade and contacto=" & FormFiltrarCliente.LSTcliente.Text & "", CNN)
           dr = SQLCMD.ExecuteReader()

           If dr.Read() Then

               LBLcod.Text = dr.GetInt32(0)
               TXTnome.Text = dr.GetString(1)
               CBOano.Text = Mid(dr.GetString(2), 1, 4)
               CBOmes.Text = Mid(dr.GetString(2), 6, 2)
               CBOdia.Text = Mid(dr.GetString(2), 9, 2)
               CBOnacionalidade.Text = dr.GetString(3)
               TXTmorada.Text = dr.GetString(4)
               LBLlocalidade.Text = dr.GetString(5)
               CBOcod_postal.Text = dr.GetInt32(6)
               CBOcod_area.Text = dr.GetInt32(7)
               TXTccidadao.Text = dr.GetInt32(8)
               TXTnif.Text = dr.GetInt32(9)
               TXTcontacto.Text = dr.GetInt32(10)
               TXTmail.Text = dr.GetString(11)
           End If
           dr.Close()
           SQLCMD.Dispose()
       End If
       dr.Close()
       SQLCMD.Dispose()

       SQLCMD = New MySqlCommand("Select matricula, cilindrada, potencia, combustivel, categoria_nacional, data_matricula, nr_quadro, cor, marca, modelo from automovel, modelo, marca where automovel.cod_modelo=modelo.cod_modelo and modelo.cod_marca=marca.cod_marca and matricula='" & matricula & "'", CNN)
       dr1 = SQLCMD.ExecuteReader()
       While dr1.Read()
           TXTmatricula1.Text = Mid(dr1.GetString(0), 1, 2)
           TXTmatricula2.Text = Mid(dr1.GetString(0), 4, 2)
           TXTmatricula3.Text = Mid(dr1.GetString(0), 7, 2)
           TXTcilindrada.Text = dr1.GetString(1)
           TXTpotencia.Text = dr1.GetInt32(2)
           CBOcombustivel.Text = dr1.GetString(3)
           CBOcategoria_nacional.Text = dr1.GetString(4)
           CBOanocar.Text = Mid(dr1.GetString(5), 1, 4)
           CBOmescar.Text = Mid(dr1.GetString(5), 6, 2)
           CBOdiacar.Text = Mid(dr1.GetString(5), 9, 2)
           TXTquadro.Text = dr1.GetString(6)
           CBOcor.Text = dr1.GetString(7)
           CBOmarca.Text = dr1.GetString(8)
           'If dr.IsClosed = False Then dr.Close()
           'If dr1.IsClosed = False Then dr1.Close()
           SQLCMD = New MySqlCommand("select modelo, marca.cod_marca from modelo, marca where marca.cod_marca=modelo.cod_marca and marca ='" & CBOmarca.Text & "'", CNN)
           dr = SQLCMD.ExecuteReader()
           While dr.Read
               CBOmodelo.Items.Add(dr.GetString(0))
           End While
           CBOmodelo.Text = dr1.GetString(9)
       End While
       dr1.Close()
       SQLCMD.Dispose()


       Me.Text = "Ficha de Cliente de " & TXTnome.Text
       LBLautomovel.Text = "Automóveis de " & TXTnome.Text & ":"

       FormPesquisarCliente.Close()
       FormFiltrarCliente.Close()
       dr.Close()
       SQLCMD.Dispose()
   End Sub

Edited by ribeiro55

Share this post


Link to post
Share on other sites
ribeiro55

Em cima da Solution, na Solution Explorer, tipicamente do lado direito do ecrã.

O ficheiro M:\Claudio\PAP\PAP Aplicação Desktop\Icons\save enabled.png existe?

Não deverias colocar hard-coded um caminho deste tipo. Se é um ícone de botão, deveria estar nos recursos.

Se é um recurso externo, deverias estar a usar um caminho dinâmico.

Experimenta comentar a linha:

PCTsave.Image = Image.FromFile("M:\Claudio\PAP\PAP Aplicação Desktop\Icons\save enabled.png")


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
Lau13

Isso de o ficheiro estar comentado é porque na minha escola ele assume a drive como E e em minha casa como M, eu sei que é aí que está o erro só não entendo porque ele não me para o programa e me dá o erro de file.not.found.

Share this post


Link to post
Share on other sites
ribeiro55

Difícil de diagnosticar à distância também.

Alguma coisa está a impedir o debugger de carregar a source.

Breakpoints funcionam? Se sim, step-debug it.

Verifica o perfil de compilação também. Troca para o debug padrão, caso tenhas estado a inventar.

Já fizeste o clean?


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
Lau13

Sim os breakpoint's funcionam. Como faço o step-debug it?

Como verifico o perfil de compilação?

Desculpa a minha ignorância mas só dei vb.net 1 ano.

Share this post


Link to post
Share on other sites
ribeiro55

Coloca um breakpoint e depois faz step-debug.

Step-debug é percorreres linha a linha. Usa o F11 para entrar nos métodos e o F10 para passar no contexto.

Neste caso vai carregando em F11 até que consigas tirar melhores conclusões do file not found. Pode ser noutro sítio qualquer.

O perfil de compilação podes verificar em My Project->Debug->Configuration


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.