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