Referenciar un componente

Tengo un dll que en visual basic se referencia(proyecto -->referencias) y en el examinador de objetos muestra 3 subclases (u objetos)
Entonces instancia el objeto de esta manera en vb:
dim objeto as clase1
objeto = new clase1
Objeto. Funcion(param1, parm2)
¿Cómo invoco una dll que tiene 3 clases en power builder? ¿Es posible?
¿Y cuál seria la sintaxis?

1 respuesta

Respuesta
1
Para refereciar una clase externa desde power builder prueba la siguiente sintaxis
En el área GLOBAL EXTERNAL FUNCTIONS
Function <valor retorno> <nombre de la funcion>(<tipo de param1> <parm1>, <tipo de param2> <param2>) Library "<nombre del dll>"
Por ejemplo
Para encontrar el directorio en donde esta instalado windows es
Function Long SetTimer(Long hwnd, Long IdTimer, Long uTimeOut, Long tmpre) Library "user32.dll"
Igualmente funciona para el caso anterior.
Recomendación:
La librería dll que posee la función o funciones, debes incluirla en un directorio registrado en el PATH del sistema,
por ejemplo el directorio SYSTEM de windows
o el directori donde esta tu aplicación.
Espero esto sirva para resolver tu problema
saludos
agdsys
Gracias por tu interés agdsys, sabes ya he intentado eso que me dices con mi dll, pero me sale un error accediendo a la función (y no es que no encuentra la dll porque esta en el lugar correcto)
Lo que yo creo es que como mi dll(clase) contiene 3 subclases(subclass1, subclass2, subclass3) y las funciones no son directamente de la clase mayor, ¿no se si me entiendes?
Por ello quiero saber como declarar las funciones de la subclases, ya que cada una tiene sus propias funciones
Me han dicho que tal vez con createobject, pero estoy intentando y nada ... a ver si tienes una idea ...
Gracias de todas formas
Aunque no he tenido esa experiencia, pero se me ocurre que podrías probar es intentar hacer esta llamada por medio de un contenedor OLE, por lo que me dices pareciera que estamos hablando de un objeto,
Si aun no lo has probado, pruébalo,
Antes de agregarlo al contenedor ole lo tendrás que registrar en windows eso lo haces por medio del REGSVR32.EXE invocándolo te da sus parámetros y te dice como usarlo.
Una vez registrado ya lo puedes incluir en un contenedor OLE,
Pare hacer mención a las funciones del objeto en función utilizas la palabra object,
Sintaxis para función o método
<objeto ole>.object.<funcion( <parametros....>)>
para propiedad
<objeto ole>.object.<propiedad> = <valor>
Prueba con esta opción
Espero que puedan servir para resolver tu problema
saludos
agdsys

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas