El método C ++ llamado de DLL devuelve datos de la llamada anterior en Adobe Air Extension native

StackOverflow https://stackoverflow.com/questions/9457009

Pregunta

Estoy experimentando un problema raro. Escribí una extensión nativa para Adobe Air App. Es un código C ++ compilado a DLL con VS2010. Tengo un método al que paso una matriz de números y luego obtener una matriz de resultados. Permitir la hora. Llame a ese método devolver la matriz correcta con datos correctos y la longitud. Pero si yoLlame a ese método en una fila dos veces, la segunda vez, la matriz contiene ambos datos de la primera llamada y de la segunda. Es como si la DLL almacenaría el caché de los datos de la llamada anterior. Limpiar todo hacia arriba. También todas las variables.son locales y limpios / destruidos una vez que finaliza la llamada del método.Puede ser mi configuración para la compilación DLL está incorrecta, ya que no soy C ++ Guru. Gracias por la ayuda de antemano.

Actualización: Encontré la solución. Tuve que ver con "Wrapper" externa "C" "que olvidé agregar a mis métodos C ++.

¿Fue útil?

Solución

Encontré la solución. Tenía que ver con "Wrapper" externa "C" "que olvidé agregar a mis métodos C ++.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top