یه سری پیشنهاد و گزارش مشکلات:
- وقتی در لیست فرمها یک فرم رو انتخاب میکنیم، اگه موس رو همونجا روی لیست فرمها نگه داریم، یجورایی انگار هی لیست فرمها و آبجکت ها Refresh میشه.
- در مثال Dialogs مشخصات فرم Page 2 تغییر دادم و امکان Resize و HScroll و VScroll رو در اون فعال کردم (درحالی که این تنظیمات برای فرم اول یعنی Page1 اعمال نشده بود)، ولی وقتی پروژه رو اجرا میکردم، امکان Resize در Page 2 وجود نداشت، اما اگه Page 1 هم همین تنظیمات رو داشت، در هردو فرم این قابلیت فعال بود.
- در قسمت تنظیمات فرم گزینه ای بنام Help وجود داره، ولی با فعال کردنش دکمه ی مربوطه در Caption Bar ظاهر نشد.
- از اونجایی که اگر فرم System Menu نباشه، هیچ دکمه ای در Caption Bar نمایش داده نمیشه، بهتره با غیرفعال شدن اون گزینه، گزینه های Minimize, Maximize و Help هم غیرفعال بشن (اگر چیزی که بنده عرض کردم صحت داره)
- هر فرم Event مربوط به OnResize رو داره، ولی بنظرم بهتر هست Event مربوط به OnMinimize و OnMaximize رو در برنامه بگنجونید یا بنحوی این امکان رو برای کاربر فراهم کنید که از Maximize و Minimize شدن فرم اطلاع پیدا کنه.
- قابلیت Custom Shape کردن هر فرم رو فراموش نکنید، خیلی مهم هست؛ اگر قرار هست اینکار رو انجام بدید بهتر هست که کامل باشه یعنی اگر امکانش باشه بشه از تصاویر با Alpha Channel استفاده کرد، یعنی ظاهر فرم علاوه بر Custom Shape بودن، دارای Transparency Map هم باشه (درست مثل قابلیت Alpha Blending در SmallPlugin)
- در تنظیمات پروژه گزینه ای رو هم برای Allow only one Instance در نظر بگیرید.
- بهتر هست در هر فرم گزینه ای رو تعبیه کنید که در صورتی که بصورت Dialog نمایش داده شد، آیا تا قبل از بسته شدن Dialog فرم Parent قابل دسترسی باشه یا نه ( نه اینکه برای این قابلیت مجبور باشه فرم رو بصورت ToolBox نمایش بده)
- سعی کنید تمامی تغییراتی که میشه در هر فرم، آبجکت و تنظیمات کلی پروژه میشه داد، در هنگام اجرای برنامه و توسط کدنویسی هم قابل تغییر باشن.
- از اونجایی که هر فرم تنظیمات خاص خودش رو داره، بنظرم بهتر هست که بشه برای هر فرم آیکن خاصی رو نیز تعبیه کرد.
- در آپادانا این امکان وجود نداره که فقط یک Page (فرم) خاص رو اجرا کرد (با توجه به رویه مبتنی بر Page آپادانا در کنار رویه ی مبتنی بر فرم) و با فشردن کلید F5 کل پروژه از صفحه ی اول اجرا میشه (فرض کنید هنوز دکمه ای برای ورود به اون فرم خاص در پروژه قرار داده نشده).
- ظاهرا شئ ویدئو ی آپادانا مشکلاتی داره، چون پس از لود ویدئو برای ایجاد شئ، آبجکت بدرستی جابجا نمیشد و بعد از ایجاد این شئ در ویندوز 7 تم سیستم عامل از حالت Aero خارج شد و رفت به حالت Basic و تا زمانی که آپادانا بسته نشد به حالت سابق برنگشت !
- وجود Master Layer و Master Top Layer همانند MMB هم میتونه گزینه ی مفیدی باشه.
- امکان ارتباط با برنامه (کامپایل شده ی آپادانا) از طریق Command-Line رو هم فرهم کنید.
- قابلیت Auto Completion رو برای قسمت کدنویسی آپادانا فراهم کنید، مثلاً با نوشتن کلمه ی کلیدی For و فشردن مثلاً Space فرم کلی این عبارت ظاهر بشه، یا مثلاً عبارت شرطی If و ...
- در قسمت تنظیمات شئ Text گزینه ای وجود داره بنام Enable/Disable که با فعال یا غیرفعال کردنش هیچ تغییری احساس نمیشه.
- وجود اشیاء Menu Bar و Popup Menu با توجه به امکان استفاده از اونها در MMB درحال حاظر، ضروری بنظر میرسه.
ابزاری رو برای ایجاد این منوها در برنامه بگنجونید و در هر فرم قسمتی رو تعبیه کنید که بشه این اشیاء (منوها) رو به فرم نسبت داد.
- در آپادانا اگر فرمی از نوع Sytem Menu نباشه، دکمه ی Close هم طبعاً وجود نخواهد داشت، در این وضعیت راهی برای خروج از برنامه نیست (در حال تست عرض میکنم نه وقتی که پروژه کامپایل شد)، بهتر هست هنگامی که پروژه از طریق آپادانا اجرا میشه مثل MMB یک Popup Menu برای خروج وجود داشته باشه (گرچه بنظر میرسه در آپادانا برای اجرای هر پروژه، اون پروژه کامپایل و سپس اجرا میشه و روالش مثل MMB نیست که از طریق یک Player داخلی اجرا بشه).
- بهتر هست که روال کنترل کلید Escape برای خروج از فرم دست کاربر باشه.
- با اجرای برنامه فایلهای مربوط AND مربوط به پروژه های آپادانا به برنامه Associate نمیشن، حتی اگه از گزینه ی Associate for Files استفاده بشه (در ویندوز 7)
- در راهنمای برنامه ذکر کردید که تا 5 پارامتر رو میشه به هر تابع ارسال کرد که این پارامترها در حافظه با نامهای 1$ تا 5$ ذخیره میشن، بنده سعی کردم در یک کد یک متغیر با نام 1$ تعریف کنم و مقداری رو بهش نسبت بدم، در این مورد آپادانا هیچ ایرادی نگرفت و این متغیر بدرستی تعریف شد...
بنظرم بهتر هست از متغیرهای خاصی برای این پارامترها استفاده کنید که نشه در کدها اونها رو تعریف کرد و به نوعی رزرو شده باشن تا تداخلی ایجاد نشه.
ممنون از زحماتتون
امیدوارم همیشه موفق و پیروز باشید.