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

Sign in to follow this  
duduml

Chamar procediemnto noutra classe [RESOLVIDO]

Recommended Posts

duduml

Pessoal,

posso executar um procedimento de outra classe (form) estando eu noutro form (classe)??

COMo?

CUMPS


"use windows, você merece!"

Share this post


Link to post
Share on other sites
Tuntankamon

Se for público ou friend podes...

NomeDaClasse.NomeProcedimento();
'ou
Form2.minhaFuncaoPublica();

Share this post


Link to post
Share on other sites
Xetly

tens que ver se ta publico ou friend... de seguida chamas o nome do form e a funçao que precisas.

:)

Share this post


Link to post
Share on other sites
duduml

já fiz, e não deu...:) o que eu quero é que me actualize os dados de um combobox, fiz desse modo, e não deu...;) bolas...


"use windows, você merece!"

Share this post


Link to post
Share on other sites
duduml

na classe/form gerir_utilizadores tenho

Public Sub limpar_dados()

...

Depois na class/form inserir_utilizador

chamo assim ao registar outro:

gerir_utilizadores.limpar_dados()


"use windows, você merece!"

Share this post


Link to post
Share on other sites
Tuntankamon

Sim mas estás a utilizar uma função que supostamente limpa qualquer coisa, que está noutro form, para limpar dados no primeiro form?!

Mas não funciona porquê? O quê que supostamente deveria acontecer?

Share this post


Link to post
Share on other sites
duduml

não, aí é que esta...eu quero mesmo que ela limpe os dados na sua form...

ou seja, ao inserir....chamo essa função que esta na classe gerir_utilizadores, para limpar dados dessa mesma classe....

CUMPS


"use windows, você merece!"

Share this post


Link to post
Share on other sites
duduml

Public Sub limpar_dados()
'=====================================================================================
        '================== Carregar números de funcionários =================================
      '=====================================================================================
        numero_ComboBox1.Items.Clear()
        Dim strSql As String = String.Empty
        Dim conn2 As New NpgsqlConnection(con_str)
        strSql = "SELECT numero FROM funcionarios ORDER BY numero"
        Try
            conn2.Open()
        Catch ex As Exception
            MsgBox("Erro de ligação com a base de dados.", MsgBoxStyle.Critical, "ErrID: #003")
            erro_log(ex)
            Exit Sub
        End Try
        Dim commandSQL1 As New NpgsqlCommand(strSql, conn2)
        Dim dr1 As Npgsql.NpgsqlDataReader
        Try
            dr1 = commandSQL1.ExecuteReader()
        Catch ex As Exception
            MsgBox("Erro ao executar um comando na base de dados.", MsgBoxStyle.Critical, "ErrID: #004")
            erro_log(ex)
            Exit Sub
        End Try
        While dr1.Read()
            numero_ComboBox1.Items.Add(dr1.Item("numero"))
        End While
        commandSQL1.Dispose()
        conn2.Close()
        conn2.Dispose()
        'fazer focus a combobox numero de utilizador
        numero_ComboBox1.Focus()
    End Sub

é isso aí

Também já tentei passar o novo número de funcionário, e adiciona-lo a combobox mas também não deu...

já suspendi o layout, foquei a classe para fazer isso e não deu...


"use windows, você merece!"

Share this post


Link to post
Share on other sites
Tuntankamon

Se chamares a classe directamente do form ela funciona?!

É que o que o código faz é remover e voltar a inserir dados...

Share this post


Link to post
Share on other sites
duduml

sim, funciona....eu sei o que o código faz..isto seria uma das maneiras...

mas deste modo não dá!


"use windows, você merece!"

Share this post


Link to post
Share on other sites
Tuntankamon

Alguma coisa deves estar a fazer de errado...  🤔

Se o código funciona no form original quando chamado, também deveria funcionar quando o chamas a partir de outra classe.

Mete umas message boxs ou debug.writeline, no meio do procedimento para verificar que realmente a chamada foi feita correctamente... só para tirar as dúvidas.

Share this post


Link to post
Share on other sites
duduml

eu já fiz isso, e as textbox aparecem....mas nada de actualizar a combobox...

o mais engraçado é que até pus msgbox para ver os valores da consulta e dá tudo bem! ao que parece, só não apaga e escreve os valores da combobox !!!!

:wallbash:


"use windows, você merece!"

Share this post


Link to post
Share on other sites
Tuntankamon

Deves ter algo mais no código que remove os dados...

O código parece-me estar bem, tens algum código no Form Enter, VisibleChanged ou algo semelhante?

Share this post


Link to post
Share on other sites
duduml

Mas os dados não são alterados em nada...não, não tenho nada disso... :)


"use windows, você merece!"

Share this post


Link to post
Share on other sites
Tuntankamon

Alguma coisa é...  :)

Se de alguma maneira pudesses mostrar o código onde fazes referência à combo, ou até mostrar o código completo, pois sem ver a imagem completa, torna-se dificil...

Share this post


Link to post
Share on other sites
duduml

Bem, eu obtei por outro metodo....colcoquei o código no gotfocus...desse modo, cada vez que se mexe la carrega os números...é o que há....

Obrigado pela paciencia....mas se não dá de uma maneira, dá de outrA!

:)

Abraço


"use windows, você merece!"

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
Sign in to follow this  

×

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.