Cita:
Empezado por omarperez.qui
Escafandra, me has mostrado que tengo tanto por aprender, ni siquiera puedo intuir como lo has sabido.
|
Cuando el paso de parametros es correcto hay que buscar los puntos que pueden generar errores. El tamaño de una cadena cuando se pasa su puntero es uno de ellos. Hay que seguir el humo para encontrar el incendio.
Cita:
Empezado por omarperez.qui
Escafandra, me has mostrado que tengo tanto por aprender, ni siquiera puedo intuir como lo has sabido.
La forma estática es mas sencilla y clara.
|
Pero en tiempo de ejecución no puedes controlar la asignación de la función importada y el programa dará un error al inicio y se abortará si la dll no se encuentra o tiene un error
Cita:
Empezado por omarperez.qui
Y el @str[0] que has puesto creo que nunca lo entenderé.
|
@str[0] es para pasar un puntero al primer elemento del array. La dll está pidiendo una cadena estilo C, y en C una cadena es un array; y un array se representa por un puntero a su primer elemento. En este caso también vale poniendo el nombre del array estático como te puse en el otro ejemplo.
Saludos.