Метод C ++, вызываемый из DLL, возвращает данные из предыдущего вызова в собственном расширении Adobe Air - PullRequest
0 голосов
/ 27 февраля 2012

У меня странная проблема. Я написал собственное расширение для приложения Adobe Air.Это код C ++, скомпилированный в DLL с VS2010. У меня есть метод, которому я передаю массив чисел, а затем получаю массив результатов. При первом вызове этого метода он возвращает правильный массив с правильными данными и длиной. Но если яВызовите этот метод дважды подряд, во второй раз массив содержит как данные первого вызова, так и второго. Это как если бы DLL-библиотека кэшировала данные предыдущего вызова. Я все очищаю. Также все переменныеявляются локальными и очищаются / уничтожаются после завершения вызова метода.Может быть, мои настройки для компиляции DLL неверны, так как я не гуру C ++.Спасибо за помощь заранее.

ОБНОВЛЕНИЕ: Я нашел решение. Это было связано с оболочкой "extern 'C" ", которую я забыл добавить в методы C ++.

1 Ответ

0 голосов
/ 25 октября 2012

Я нашел решение. Это было связано с оболочкой "extern 'C" ", которую я забыл добавить в мои методы C ++.

...