Definicion De Buffer
Mira en c la funcion me viene definida de esta forma:
* Función para copiar los datos de la pantalla.
*
* Argumentos:
*
* 'hclient'
* INPUT: Identificador de la sesión.
*
* 'pantalla'
* OUTPUT: buffer donde se van a copiar los datos de la pantalla.
*
* 'longitud'
* INPUT: tama¤o de 'buffer'.
* OUTPUT: n£mero de caracteres copiados en 'buffer'.
*
* 'tout'
* INPUT: tiempo en segundos que esperar la respuesta del host si la
* sesión est en WAIT. Si es 0 la función retornar inmediatamente.
* Si se cumple el tiempo sin haber recibido la respuesta del host,
* la función retornar FALSE.
*
* Retorno:
* TRUE Ok, FALSE Error.
*-------------------------------------------------------------------------*/
BOOL WINAPI captura_pantalla(HCLIENT hclient, char *pantalla, int *longitud, int tout);
ahora mismo la funcion la defino asi:
function captura_pantalla(HCLIENT: hclient; pantalla: string; var longitud: integer; tout: integer ):bool;stdcall; external 'funcionexterna.dll'
la llamada en el procedimeinto la hago asi:
captura_pantalla(1,pantalla,longitud,0);
1 es el manejador de la sesion, es correcto pues en otras funciones utilizo 1 y va correcto.
en pantalla no me copia ningun carcter.
la longitud me da "0".
He probado con 0, tout, con 1, 2 etcc.. y da igual
Y la funcion me da false, es decir que no recibe respuesta.
Muchas gracias,
|