Visual Basic - PROBLEMA CON DLL

Life is soft - evento anual de software empresarial
 
Vista:

PROBLEMA CON DLL

Publicado por KEVIN HARNOLLD VECHARA AGUILA (45 intervenciones) el 21/09/2004 22:05:54
hola a todos

Como veran tengo una DLL creada de la siguiente forma.

donde la DLL se llama Sumar.dll y dentro de ella esta creado esta funcion.

Public Function Operar(Num1, Num2, Opr, Res) As Integer
Res = Num1 + Num2
Operar = Res
End Function

tengo entendido que a demas de referirme a una DLL fueras de las referencia puede conectarme con ellas a traves de la siguiente codificacion.

Private Declare sub Operacion lib "Path\Sumar.dll" (byval N1 as integer,byval N2 as integer, byval Op as string,byval R as integer)

Esta instruccion la tengo en las declaraciones de mi forma principal y el llamado de esta libreria lo hago en un boton de la siguiente manera.

Operacion 123,123,"Suma",0

Si exite un error por favor haganmelo saber ya que me presenta el "453" al ejecutarlo

NOTA
Este codigo es bajo VB5
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PROBLEMA CON DLL

Publicado por Slasher Keeper (7 intervenciones) el 21/09/2004 23:44:49
Eso no se puede hacer con una Dll creada en VB. La razón es que en VB no hay forma de exportar funciones porque es un lenguaje orientado a objetos, y la instrucción Declare se puede usar sólo con Dlls que exporten funciones.

Si querés hacer eso crea la Dll en C++ o algun otro lenguaje que te permita exportar funciones. :-)

suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

NO PROBLEMA

Publicado por Hely (126 intervenciones) el 10/11/2004 05:39:05
Desde luego que si lo puedes hacer.
ambas formas son validas, agregando la referencia o declarandola como si de una API se tratase Lo que si me parece raro es PATH\lib.dll
path NO debiera ser, incluya la direccion completa, o ponga la dll al lado del ejecutable. el oreden en que windows busca las dlls es:
System
windows
oy por ultimo al lado del EXE

Public Declare Function Suma Lib "suma.dll" (x, y,z) As Long
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PROBLEMA CON DLL

Publicado por rastax (1 intervención) el 08/11/2004 19:34:36
Segun responde Slasher, lo que dice es una falacia.
Tanto Visual Basic como Visual C++ son lenguajes orientados a objetos, y la respuesta que ha dado Slasher es una TREMENDA EQUIVOCACION!!!
VB permite hacer lo que quieres, haz lo siguiente:
1. Crea un Activex DLL nuevo en VB
2. en el modulo Class1 coloca la funcion o subrutina que quieres
3. en la propiedad Instancing del modulo class1 cambia el valor por 6-GlobalMultiuse
4. compila tu DLL (archivo > generar dll)
5. crea tu nuevo proyecto VB
6. en tu proyecto VB agrega como Referencia tu nueva DLL (Proyecto > Referencias)
7. NO DECLARES LA FUNCION DE NUEVO EN TU PROYECTO, PORQUE ESTO TE ARROJARA EL ERROR QUE DICES.
8. llama a la funcion que creaste
9. ejecuta tu proyecto y dsfruta.

SALUDOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema de actitud

Publicado por Slaher Keeper (7 intervenciones) el 09/11/2004 03:31:46
Me parece que te estás equivocando un poco BASTANTE. Antes de hablar mal de los demás te recomiendo que leas las preguntas que hacen en el foro.

Si encontrás una opción de Visual Basic que te permita exportar funciones para usar con la instrucción Declare, te pido encarecidamente que nos digas cual es, porque en todos mis años de programador NUNCA vi esa opción. Así que antes de escribir por escribir mejor pensá bien tus palabras.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar