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

Abs

Funções DLL

21 mensagens neste tópico

boas! ando com uns problemas nas componentes ainda.. ! não consigo ir buscar uma função ao ficheiro DLL que criei previamente! alguma ajuda?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É só essa função? Se for, o problema deve ser da função. De certeza que não a tens como Private?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

são 2 funções no mesmo ficheiro..!


Function CalculaDescontos_trabalhador(ByVal salario As Object)

        Const taxa_trabalhador = 0.11

        CalculaDescontos_trabalhador = salario * taxa_trabalhador
        MsgBox(CalculaDescontos_trabalhador & " é o valor a pagar pelo trabalhador")

    End Function


    Function CalculaDescontos_entidade(ByVal salario As Object)

        Const taxa_entidade = 0.245

        CalculaDescontos_entidade = salario * taxa_entidade
        MsgBox(CalculaDescontos_entidade & " é o valor a pagar pela entidade")

    End Function

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenta assim.


Public Function CalculaDescontos_trabalhador(ByVal salario As Object)

        Const taxa_trabalhador = 0.11

        CalculaDescontos_trabalhador = salario * taxa_trabalhador
        MsgBox(CalculaDescontos_trabalhador & " é o valor a pagar pelo trabalhador")

    End Function


Public Function CalculaDescontos_entidade(ByVal salario As Object)

        Const taxa_entidade = 0.245

        CalculaDescontos_entidade = salario * taxa_entidade
        MsgBox(CalculaDescontos_entidade & " é o valor a pagar pela entidade")

    End Function

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O option strict, por exemplo, chateia-se com o não fornecer o tipo de retorno de uma função.

Exprimenta fornecer o tipo de retorno, nem que seja "As Boolean".

Se não queres que um valor seja devolvido, não devias usar Functions, mas Subs.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

vb10.jpg

tenho esse formulário noutro projecto... e o ClassLibrary1.CalculaSal() não funciona.. não consigo chamar a função porque não que código por lá no sitio... isto é super simples... mas mesmo assim não vou lá...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tenho esse formulário noutro projecto... e o ClassLibrary1.CalculaSal() não funciona.. não consigo chamar a função porque não que código por lá no sitio... isto é super simples... mas mesmo assim não vou lá...

Se queres chamar directamente tens de definir a função como Shared, caso contrário, terás de criar uma nova instância da classe.

EDIT:

Se não queres que um valor seja devolvido, não devias usar Functions, mas Subs.

Isso é obvio :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e como é que eu faço isso?

Public Shared Sub CalculaDescontos_trabalhador(ByVal salario As Double)

...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas o que é que não funciona ? Tens de mostrar o código da classe e como estás a usar no código.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

basicamente o que já postei... no botão do form dos descontos (um projecto) tenho estado a tentar chamar a função com o ClassLibrary1.CalculaSal() mas dá-me fail...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas dá-me fail...

Fail ou falha ? Tens de dizer que erro dá!

Tu tens uma Classlibrary, fazer a alteração, compilas a classe que vai originar-te um DLL. Depois importas o DLL e dá erro ? Que erro ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

fiz o build do projecto.. criou o dll.. importei o dll para as referencias do outro projecto.. apartir daí não consegui fazer mais porque não sei que código utilizar para usar a função! o simples "CalculaDescontos_trabalhador()" não funciona.. o ClassLibrary1.CalculaSal() também não... não sei chamar a função!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas depois de fazer as alterações (por exemplo colocar como shared) voltaste a complicar e importa ?

Já experimentaste criar uma nova instância da classe ? Exemplo:

Dim cls As New ClassLibrary1

cls.CalculaSal(...)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora