hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
19 de Noviembre de 2008, 12:35:26
Noticias: Reporte de temas
Para ver este enlace Registrate o Inicia Sesion
> Aqui

+  Foros pOrtal Hacker
|-+  Programacion
| |-+  Programación en general
| | |-+  Visual Basic (Moderadores: ranefi, crypto136, ziBboh, >> s E t H <<)
| | | |-+  como llamar un .dll
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: como llamar un .dll  (Leído 253 veces)
nano871022
NZ1
*
Desconectado Desconectado

Mensajes: 39


Dios concede la victoria a la constancia


Ver Perfil
« : 01 de Agosto de 2008, 12:05:14 »

una preguntica como hagopara llamar un dll que cree con anterioridad
ademas no se si este bien echo
este dll decia que era clase bueno yo cree los siguentes parametros dentro de la sintaxis del ddl
fuction sumar(calcular as Double) as Double
sumar= calcular * 2
end fuction
ese fue el parametro no se si este bin de echo es algo para mirar como funciona jaajaja
pero les agradesco si me pueden decir si sirve con esa declaracion y como lo llamo desde un programa que se esta creando ademas si sirve como una funcion normal como se utiliza dentro de visual basic6
En línea

El mejor se hace no nace
700esoj
NZ2
**
Desconectado Desconectado

Mensajes: 175


Ver Perfil
« Respuesta #1 : 01 de Agosto de 2008, 12:22:13 »

Declare Function sumar lib "C:\lugar de libreria.dll" Alias "sumar"(calcular as double) As Double

Trata con eso!
En línea
nano871022
NZ1
*
Desconectado Desconectado

Mensajes: 39


Dios concede la victoria a la constancia


Ver Perfil
« Respuesta #2 : 01 de Agosto de 2008, 12:51:45 »

gracias pero quede igual no se como hacer es que endonde ago el llamado de la libreria esta asi:
Private Sub Command1_Click()

Dim valora As Double
Dim devuelta As Double
valora = Text1.Text
devuelta = suma(valora)
Text3.Text = devuelta

End Sub
En línea

El mejor se hace no nace
700esoj
NZ2
**
Desconectado Desconectado

Mensajes: 175


Ver Perfil
« Respuesta #3 : 01 de Agosto de 2008, 01:18:03 »

facil,  En un modulo pones lo que te dije en el post anterior.

y en el codigo del form pones lo siguiente:


Este es un ejemplo con  un command button.

Código:
  Private Sub Command1_Click()
  Dim valor  As Double

  valor = sumar(9.2 * 4)

  msgbox STR(valor)
End Sub


O de la misma manera que pusistes en tu Codigo esta bien

Código:

Private Sub Command1_click()

    Dim valora As Double
    Dim devuelta As Double
                 valora = CDbl(Text1.Text)
                 devuelta = suma(valora)
                 Text3.Text = STR$(devuelta)


End Sub


« Última modificación: 01 de Agosto de 2008, 01:27:21 por 700esoj » En línea
nano871022
NZ1
*
Desconectado Desconectado

Mensajes: 39


Dios concede la victoria a la constancia


Ver Perfil
« Respuesta #4 : 01 de Agosto de 2008, 02:14:58 »

tu diras amigo si soy como vestia pero es que tengo el codigo de la siguiente forma:
'lo de abajo esta en un command botton
/*la cuestio como hago para llamar este dll no me lo llama
me aparece error por q no hace nada*/
hice otra forma a punta de funciones que sirve pero igual  necesito mas vien utilizar un dll para llmar menos progrmas y menos codigo "supuestamente"*/

Private Sub Command1_Click()
    Dim valora As Double
    Dim devuelta As Double
                 valora = CDbl(Text1.Text)
                 devuelta = suma(valora)
                 Text3.Text = Str$(devuelta)
End Sub
'lo de abajo esta en un module_sentenc es
Declare Function sumar Lib "C:\suamrp.dll" (calcular As Double) As Double
En línea

El mejor se hace no nace
700esoj
NZ2
**
Desconectado Desconectado

Mensajes: 175


Ver Perfil
« Respuesta #5 : 01 de Agosto de 2008, 02:41:30 »

Si el dll esta echo en Visual Basic entonces con solo poner en un DLL esto 

Public Declare Function sumar lib "C:\lugar de libreria.dll" Alias "sumar"(calcular as double) As Double

Te funcionara, pero sila funcion fue echa en otro programa como C/C++ necesitas crear la funcion con el parametro STDCALL que es como el Lenguage Visual Basic puede llamar las DLL's y la unica creo yo.

osea que la dll no funcionara si no esta echa de esa forma.

Te voy a hacer un DLL para que veas y lo voy a postear en un link para que veas.

NOTA:  creo que se me olvido el PUBLIC en el post anterior.


« Última modificación: 01 de Agosto de 2008, 02:50:32 por 700esoj » En línea
nano871022
NZ1
*
Desconectado Desconectado

Mensajes: 39


Dios concede la victoria a la constancia


Ver Perfil
« Respuesta #6 : 02 de Agosto de 2008, 09:47:58 »

los parametros del dll son los siguientes:

Function suma(calculo As Double) As Double
sumar = calculo * 4
End Function

esto es lo que tiene no se si sea haci como debe ir
 y gracias lo que entendi de lo que me escribiste fue que esa sintaxis la ponga en el  dll o que la ponga en el programa que lo llama
a otra preguntica es mi inquietud
digamois que aprendiera bn lo de los dll con estos puedo hacer que solo llamarlos y ellos hicieran el resto osea tuvieran la sintaxis para que el progrmama calcule y los que les diga que haga o se utiliza otro tipo de archivo, y si funciona esto, tambien puedo hacer que un dll llama a una base de datos o a otros dll?
En línea

El mejor se hace no nace
700esoj
NZ2
**
Desconectado Desconectado

Mensajes: 175


Ver Perfil
« Respuesta #7 : 02 de Agosto de 2008, 11:39:27 »

disculpa que no te aya funcionado lo de las dll's pero yo nunca e utilizado una en Visual Basic, solo las de los API de windows.

Digamos que tu tienes dos dll's

La primera dll tienes esta funcion.
Código:
Funcion cuadro( numero As integer ) As integer

  cuadro = numero * numero

End Function


Y en la otra dll tienes esta funcion:
Código:
Funcion negativo( numero  As integer ) As integer

  negativo = numero - numero - numero
End Function




Entonces en tu codigo de Visual basic, en un form puedes llamar desde un evento click o como quieras llamarlo, no tiene que ser desde click sino puede ser en cualquier evento ocurrido.  Puedes llamar una dll y otra dll al mismo tiempo de esta forma.

Private Sub Command1_Click()

   msgbox STR$( negativo(    cuadro( 9 )  )  )
End Sub

En ese ejemplo llamas la primera dll' y haces que salga un mensaje con

cuadro(9)

pero al mismo tiempo convirtiendolo en negativo al meter esa funcion dentro de la funcion negativo( numero) q esta en la otra dll.

y luego lo conviertes de valor numerico a Cadena de texto con la funcion Str() para que pueda ser mostrado en el msgbox.


En línea
nano871022
NZ1
*
Desconectado Desconectado

Mensajes: 39


Dios concede la victoria a la constancia


Ver Perfil
« Respuesta #8 : 02 de Agosto de 2008, 01:53:04 »

gracias amigo pero que de igual pero me has dado muchas ideas e pensado y mas bien lo hago con solo funciones gracias por responderme depronto algundia lo haga asi.
En línea

El mejor se hace no nace
Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC hacker

Juegos gratis - Articulos PHP - Juegos - Trucos - Letras - Juegos - Juegos Online