دقت بفرمایید از اونجایی که هدف MMB ساخت آسون فایل اجرایی اوتوران با پشتیبانی خودش هست باید بشه پروژه ی نهایی بدون دردسری برای کاربر اجرا بشه. پس ور رفتن با رجیستری و یا درخواست نصب چیزی برای اجرای پروژه یه مقدار انحراف از مسیر اصلیه. (مثل اتوران کینگ که ظاهرا مناسب به نظر میاد اما اصلا اصولی نیست چون پیش فرض به نصب فکر می کنه و به خودش نیاز به رانتایم های ثانویه ای داره که البته نصبش می کنه)
خب چند تا مشکل روی ویندوز هایی با ساختار جدید داریم که بعضا همراه با راه حل عرض می کنم:
1. مشکل
عدم وچود DirectPlay از کامپوننت های قدیمی مربوط به DirectX که به صورت پیشفرض از ویندوز ME تا ویندوز 8 نصب هست اما از ویندوز 8.1 تا 10 به بعد دیگه قرار نیست نصب باشه و فقط در صورت نیاز میشه نصبش کرد که با توجه به نسخه ی ویندوزتون قابل نصب از روی سیستم یا دانلود هست.
پیغامی که نمایش داده میشه پیغام خطا نیست، پیغام پیشنهاده. اگزکیوتر های ویندوز 7 به بعد بررسی می کنن که فایلی که می خواد اجرا بشه نیازمند چه پشتیبانی هایی هست و قبل از اجرا پیشنهاد می دن که اگر نصب نیست نصب کنن. و قرار نیست قطعا با عدم نصبش برنامتون مشکل داشته باشه.
و کل ماجرا مربوط به رجیستر نبودن یه فایل DLL ساده هست به نام Microsoft.DirectX.DirectPlay.dll که با همون آدرسی که جناب آراد فرمودند قابل نصب هست و یا با نصب کامل DirectX 9.0c و یا رجیستر DLL به صورت دستی. اما نمی تونید اینکار رو با خود فایل ام ام بی قبل از اجرا انجام بدید چون اگزکیوتر از شما زودتر به نتیجه میرسه. تنها راه حل تغییر، باینری فایل EXE با یه HEX ادیتور و یا تغییر اسمبلی فایل با یه دیباگر هست. که توضیحش در اینجا راه حلی برای کرک محسوب میشه و ... خلاصه معذوریم.
نهایتا اگر پروژه ی نهاییتون یه اوتوران نیست، از این پیغام بگذرید و فکر کنید جزو روند نصبه...
: جناب آراد : اگر می خواهید بفهمید کلید رجیستری کجاست و فایل رو هم خودمون بریزیم باید از یه محیط دیگه مثلا VB6 استفاده کنید تا اون فایل شما رو اجرا کنه و برای فهمش هم به رجیستری Monitoring احتیاج دارید و مقدار زیادی حوصله.
2. مشکل
کند بودن/لگ داشتن فایل اجرایی در صورت استفاده از Timer همراه با حرکت Bitmap که باز هم کاری از دست ما بر نمیاد و پشتیبانی ویندوز نسبت به یه سری از فرم های قدیمیش از قصد کمتر شده. بنابراین پیشنهاد می کنم زیاد به خوب اجرا شدن انیمیشن های همزمان توی برنامتون دل نبندید.
3. مشکل عدم اجازه در اکثر مواقع برای
نصب فونت از طریق ام ام بی. این مشکل به خاطر SendMessage خود ام ام بی هست که به 0xffff (یعنی کل پنجره های در حال اجرا میده و منتظر جواب GDI هم می مونه) که باعث هنگ کردن برنامه در 90 درصد مواقع میشه، که برای یه اوتوران نیازی به اینکار نیست. جالبه بدونید بعد از Add کردن ریسورس فونت این هنگ پیش میاد یعنی در واقع فونت رو نصب می کنه و هنگ می کنه.
خب حالا از دست ما چی بر میاد؟ باز هم در قدم اول هیچی. چون در اکثر نسخه های ویندوز 8.1 و 10 اجازه ی SendMessage به هر نرم افزاری به این سادگیا داده نمیشه. شما یا باید از نصب کننده ی دیگه ای برای فونت استفاده کنید. یا باید از فونت جدید استفاده نکنید.
یا باید بازم با یه دیباگر تشریف ببرید و توی تابع نصب فونت ام ام بی بعد از Add Resource برای اجرا و بعد Remove Resource برای بستن برنامه شرط Send Message رو عوض کنید که باز هم ... که بیشتر نمیشه توضیح داد و راه حل معمولی هم نیست و... یا می تونید بازم با یه محیط دیگه قبل از اجرای فایل ام ام بی فونت رو Add کنید.
یا منتظر آپدیتی بمونید که این نتیجه رو عوض کنه، چون در جایی خوندم که مشکل های جدید مربوط به فونت در ویندوز قراره در آینده به روز رسانی بشه.
4. مشکل
عوض شدن همزمان Cursor موس که راه حل خاصی نداره و تقصیر سایر رانتایم های ویندوز هست. (و خوبه بدونید بعضی از جا ها توی خود محیط های ویندوز 8.1 و 10 این مشکل روی InputBox ها و ... پیش میاد) که راه حلش برای ام ام بی :
- استفاده از پلاگین
- و یا Hide کردن موس و استفاده از یه آبجکت داخلی
- و یا تغییر ندادن موس هست (چون بعضی مواقع واقعا زشت و اعصاب خورد کن میشه)
5. مشکل
عدم تشخیص ورژن درست فلش (که ربطی به خود ویندوز نداره) و نمایش اون پنجره ی معروف دانلود فلش ام ام بی که قبلا راه حلش در انجمن گفته شده.
6. مشکل عدم نمایش محیط طراحیش به خاطر تم جدید ویندوز 7 به بعد و بدتر شدندش در ویندوز 8 به بعد که هم در اینجا و هم در فاروم ام ام بی راه حلش ذکر شده که با تغییر Properties فایل اصلی و برای ویندوز های 64 بیتی با یکبار اجرا کردن یک فایل کمکی حل میشه که راه حلش هست و نیازی به توضیح مجدد نیست. البته راه حل های دیگه هم هست که با جستجو درباره عبارت Older Windows Version Compatibility به لینک هایی مثل لینک زیر بر می خورید و مشکلتون رو می تونید حل کنید.
http://windows.microsoft.com/en-us/windows-8/older-programs-compatible-version-windows
* ترجیحا از ابزار های آماده ی MMB مثل SongList و... استفاده نکنید و خودتون اقدام به مدیریت محتوی کنید تا کمتر پیغام چدید ببینید.
در نهایت با اصل قضیه مشکلی احساس نمیشه و میشه گفت که :
در 85% موارد، ام ام بی با ویندوز های 8، 8.1 و 10 (نسخه های Desktop) سازگاره - (In 85% is Compatibe with Windows 10) ولی میشه با تغییر پلیر(کارهای غیر معمول) / متد های قدیمی این رو به 95% رسوند.
و در 95% موارد با ویندوز های Vista و 7
و 100% با ویندوز XP
موفق باشید.