FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Pasar Arrays dinamicos a una DLL
Hola,
Debo trabajar con una DLL que tiene una funcion que recibe como parametro un array sin tamaño fijo. La idea es que a la funcion se le pasa por parametro un array, y te lo devuelve con un numero indeterminado de datos. La dll creo que esta hecha en visual basic, donde este tipo de array es sencillo de manejar. Esta es la definicion de la funcion: function fReportSMSSent(const sDateFrom: WideString; const sDateUntil: WideString; var aMobiles: OleVariant; var aMessage: OleVariant; var aDeliveryDate: OleVariant; var aSender: OleVariant): Smallint; No encuentro la forma de pasar en ese OleVariant un array sin dimension definida. He probado a pasar la variable como OleVariant, sin más, pero también me devuelve un error la DLL (Parametros de entrada incorrectos). Conoceis alguna forma de trabajar con este tipo de funciones. Saludos |
#2
|
|||
|
|||
¿Seguro que la DLL está hecha con Visual Basic??????
|
#3
|
||||
|
||||
¡Hola a todos!
¿Podrías decirnos de donde tomaste esa definición (cabecera) de función? Para ser de una DLL, me parece extraño que no lleve ninguna directiva de tipo de llamada (como "StdCall", "Pascal", etc.), aunque estrictamente no son necesarias. Pero por otro lado no me da mucha confianza una función que declara parámetros de tipo cadena para valores que aparentemente indicarán fechas (en todo caso el autor pudo haber declarado tales parámetros con el mismo tipo de dato que los demás, OLEVariant). Una pregunta Sick: ¿qué dice la documentación acerca de esa función? ¿Podrías mostrarnos el código de cómo la llamas y el mensaje de error exacto que te aparece? Gracias. Al González. P.D. Me faltó mencionar que con la función VarArrayOf puedes enviar una serie de valores como arreglo Variant / OLEVariant. Saludos. Última edición por Al González fecha: 03-11-2007 a las 21:25:46. |
#4
|
|||
|
|||
Gracias por vuestras respuestas.
Esta es la documentación de la función: Cita:
Creo que esto es el problema: "aMobiles Array Parámetro de salida. Matriz de 1 dimensión. Rango del Array: inicialmente vacío, devolviendo n – 1 valores" El parametro de salida es un array inicialmente vacio, pero no se como pasarle ese parametro. Muchas gracias |
#5
|
||||
|
||||
has intentado pasarle el array como OleVariant?
|
#6
|
|||
|
|||
Cita:
Tambien he probado a pasarle un array con el numero exacto de elementos que deberia devolver y no funciona. Y he probado a pasar un array dinamico sin definir el tamaño y tampoco va. NOTA: Definitivamente, la libreria esta hecha con visual basic |
#7
|
||||
|
||||
Haz usado PSafeArray?
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
arrays dinamicos | Chompiras | Varios | 8 | 14-07-2015 22:49:51 |
Arrays dinamicos | Besto | Varios | 4 | 13-10-2006 15:24:01 |
Arrays dinámicos en memoria | eliash | OOP | 5 | 01-02-2006 11:03:26 |
Arrays dinámicos con Delphi.NET | mamen | .NET | 0 | 25-11-2004 14:21:35 |
Arrays Dinamicos | mauro | Varios | 4 | 05-07-2003 21:14:29 |
|