الشبكة العربية لمطوري الألعاب

مبتدئ  مصطفى عبد الوهاب مشاركة 1

السلام عليكم
انا مبتدئ في مكتبة الopengl عند مشكلة في الاكساء
انا بشتغل بvisual c++ 2010 المترجم بقول انو النوع البياني غير مطابق
في كود تحميل الصورة
الكود:
return auxDIBImageLoad(Filename);
اي الخطاء في Filename انا معرفة من نوع char *Filename والمترحم عاوزا من نوع LPWSTR
شكرا......................
....................
............
........
.....
...
.

مبتدئ  فراس أسعد مشاركة 2

يمكنك استعمال دالة MultiByteToWideChar من واجهة برمجة تطبيقات وندوز لتحول char* إلى LPWSTR. الكود سيكون شيئا مثل:



char* src = "something";
int srcLength = strlen(src);

int destLength = srcLength;


wchar_t* dest = new wchar_t[sizeof(wchar_t) * destLength];


int outputLength = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, src, srcLength, dest, destLength);

dest[outputLength] = '\0';


delete [] src;



مزيد من المعلومات: http://msdn.microsoft.com/en-us/library/dd319072%28v=vs.85%29.aspx

LPWSTR هي تعريف لنوع wchar_t* . يمكنك أيضا استعمال هذا النوع لتعريف المتغير بدلا من char* و لكن تحتاج حرف L عند تعريف القيمة:


wchar_t* filename = L"file.bmp";

خبير مدير وسام البهنسي مشاركة 3

هذا يحدث بسبب كون المشروع معدّ للتعامل مع النصوص بصيغة يونيكود بدلاً من صيغة آسكي المحدودة. يمكنك تبديل هذه الخاصية عن طريق:
 
* تحديد المشروع في نافذة Solution Explorer، والضغط عليه بزر الفأرة الأيمن. من القائمة المنبثقة اختر Properties. ستظهر لك نافذة كما في الصورة أدناه.
 
* من القائمة اليسرى، قم بتوسيع مجموعة Configuration Properties، ثم حدد العنصر General. ستظهر لك مجموعة إعدادات في الجزء الأيمن من النافذة كما في الصورة.
 
* الخاصية التي نريد تغييرها تدعى Character Set، عدلها لتصبح Use Multi-Byte Character Set، أو Not Set (يفضل الأولى).
 
* اضغط زر تطبيق (Apply).
 
* ستضطر أيضاً لإعادة نفس العملية لخصائص المشروع في وضع Release. اضغط على القائمة المنسدلة في الزاوية اليسرى العليا من النافذة، والتي تدعى Configuration، ثم حدد Release، وأعد الخطوات أعلاه. بهذا يصبح المشروع معدّاً لاعتماد نصوص آسكي بشكل افتراضي.



وسام البهنسي
مبرمج في إنفيديا وإنفريمز

مبتدئ  مصطفى عبد الوهاب مشاركة 4

شكرا ...!!البرنامج اشتغل😄 جزاكم الله الف خير😢 ☺