گیک فارسی

نوشته های یک گیک فارسی از فعالیت ها ،‌ علاقه مندی ها و نقد هایش

حل مشکل Floated Windows در Lazarus با محیط Unity

نویسنده:
7 جولای 14

دومین زبان برنامه نویسی که یاد گرفتم و باعث شد بر مشکلاتی که در تولید اولین نرم‌افزاری که می نوشتم غلبه کنم پاسکال بود. همین الان اگه کسی بپرسه چه زبان برنامه نویسی را دوست داری ؟ به طور خودکار و بدون حتی پلک زدن خواهم گفت پاسکال ! پاسکال Syntax و خوانایی بسیار زیادی داره و انعطاف و تواناییش برای کسانی که دوستش دارند پوشیده نیست.

لازاروس

من پاسکال را با Delphi یاد گرفتم. در‌ واقع Delphi یک IDE یا محیط توسعه سریعی هست که بر اساس Object Pascal توسعه پیدا کرده. طی چند سال اخیر فعالیت من تقریباً ۱۰۰٪ بر روی وب متمرکز بوده و جز یکی دو تا پروژه که با Delphi انجام دادم ، کمتر با پاسکال سر کار داشتم.

در حال حاضر دارم روی پروژه ای کار میکنم که بخش مهمی از اون باید به صورت Desktop پیاده‌سازی بشه و من به لینوکس مهاجرت کردم و اصلاً هم قصد ندارم بین ویندوز و لینوکس آواره باشم. دو تا انتخاب دارم : ۱ – برم زبان Python یاد بگیریم و بر اساس Qt نرم‌افزار را تولید کنم تا هم توی ویندوز و هم لینوکس بشه باهاش کار کرد ۲ – از Lazarus استفاده کنم که شعارش اینه : Code Once Compile Anywhere و یعنی یکبار کدنویسی کن و هر جا خواستی کامپایل کن. خوب یادگیری یک زبان و GUI دیگه زمان بیشتری میگیره و چون پاسکال هیچ‌وقت من را نا امید نکرده پس بهش اعتماد میکنم و با Lazarus که بر پایه Free Pascal هست کار را انجام میدم.

اما در اولین تجربه Lazarus روی Ubuntu و Unity متوجه میشم که حالت Floated Windows ی که Lazarus داره دردسر سازه و جابجایی بین پنجره ها کلافه میکنه. پس دنبال راهی میگردم که Lazarus به صورت پنجره های Dock یا چسبیده به هم بشه و همه چیز یک‌جا جمع بشه مثل Delphi 2009. نتیجه اینکه این کار شدنیه و باید پس از اجرای Lazarus به منوی Package > Install / Uninstall Packages بریم و AnchorDocking و AnchorDockingDsgn را نصب کنیم و دکمه Save And Rebuild IDE را بزنیم و منتظر بشم که Lazarus دوباره کامپایل بشه. پس از کامپایل و Restart شدن Lazarus حالت Docked Windows فعال میشه و پنجره ها در کنار هم Dock می‌شوند و به راحتی میشه توی Unity باهاشون کار کرد.

وقتی دارم این نوشته را مینویسم از Free Pacal 2.6.2 و Lazarus 1.0.8 استفاده میکنم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.