De hecho, el parámetro formal "Dwg_data *restrict dwg " es un puntero a la estructura declarada en el archivo "dwg. h".
Es una estructura muy compleja, y por esta su complejidad es conveniente que Gambas pase a la función externa una variable de tipo Puntero que apunte a un área de memoria reservada, con un tamaño igual al ocupado por la estructura "Dwg_data".
Para conocer el tamaño (es decir, la cantidad de bytes de memoria ocupados por esa estructura) tienes que utilizar en un programa, escrito en C, el operador "sizeof()".
De hecho, en este caso, no puedes dar a la función externa "dwg_read_file()" una simple variable de tipo Puntero; en cambio tienes que darle una variable de tipo Puntero que apunte a un área de memoria "reservada".
Conocida la cantidad de memoria ocupada por la Estructura "Dwg_data", en Gambas puedes asignar una cantidad igual de memoria con la función "Alloc()".
La función "Alloc()" devolverá una variable de tipo Puntero que tendrás pasar al segundo argumento de la función externa "dwg_read_file()".
Última modificación: 04-11-2020, 03:06 por vuott.
« Los horizontes perdidos nunca regresan. » (F. Battiato, 1983)
« Las ondas nunca regresan. » (Genesis: Ripples, 1976)
« Vita non suavis esse potest, nec Mors amara. » (...vuott)