يتم استدعاء طريقة C ++ من DLL البيانات من المكالمة السابقة في Adobe Air الأصلية

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

سؤال

أنا أعاني مشكلة غريبة. أنا كتب ملحق الأصلي لتطبيق Adobe Air. إنه رمز C ++ مترجم إلى DLL مع VS2010. لدي طريقة قمت بتمرير مجموعة من الأرقام ثم احصل على صفيف من النتائج. في وقت مضى، اتصلت بهذه الطريقة التي أترتها هذه الطريقة التي ترجع المجموعة الصحيحة مع البيانات الصحيحة. ولكن إذا كنتاستدعاء هذه الطريقة في صف واحد مرتين، المرة الثانية تحتوي الصفيف على كل من البيانات من المكالمة الأولى ومن الثانية. كما لو كان DLL سيتم تخزين البيانات من الدعوة السابقة. أنا تنظيف كل شيء UP.Aly جميع المتغيراتهي محلية ونظيفة / دمرت بمجرد انتهاء استدعاء الأسلوب.قد تكون الإعدادات الخاصة بي لتجميع DLL خاطئة كما أنا لست C ++ Guru. شكرا لمساعدتكم مقدما.

تحديث: لقد وجدت الحل. كان يجب القيام به مع Wrapper "Extern 'C" "" "لقد نسيت أن أضيف إلى أساليب C ++ الخاصة بي.

هل كانت مفيدة؟

المحلول

لقد وجدت الحل الحل. كان يتعين القيام به مع "Extern" C "C" "" الذي نسيت أن أضيف إليه إلى أساليب C ++ الخاصة بي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top