یکشنبه, ۱۴ بهمن, ۱۴۰۳ / 2 February, 2025
مجله ویستا
راهنمای تبدیل برنامههای ویژوال بیسیک ۶ به ویژوال بیسیک داتنت
● نکتهی مهم قبل از ارتقای پروژه
ویژوال بیسیك داتنت نسبت به نسخههای قبلی ویژوال بیسیك تغییرات زیادی داشته است. چون این نسخه برای بهرهبرداری بیشتر از امکانات چارچوب داتنت طراحی شده، تمامی راههای حفظ سازگاری با نسخههای قبلی در آن بسته شده است.
▪ نکته:
هر دو نسخهی ۶ و داتنت ویژوال بیسیك و برنامههای نوشته شده با این دو زبان را میتوان همزمان بدون هیچ مشکلی با هم روی یک کامپیوتر نصب و اجرا كرد. اجزا و کنترلهای ایجاد شده در ویژوال بیسیك داتنت میتوانند با اجزای COM ایجاد شده در نسخههای قبلی و نیز در سایر زبانها ارتباط برقرار كرده و بدون دردسر با هم کار کنند.
در بیشتر موارد، هدف از ارتقای یک پروژه به داتنت، برخورداری از امکانات و قابلیتهای موجود در چارچوب داتنت برای توسعهی برنامههاست. با این حال به دلایل مختلفی همچون عدم پشتیبانی داتنت از برخی از امكانات مورد نیاز و یا دوبارهكاری زیاد به دلیل عدم سازگاری دو نسخه و ...، مواردی نیز پیش میآید که طی آن توسعهی یک برنامهی تحت ویژوال بیسیك ۶ خیلی باصرفهتر از ارتقای آن به داتنت خواهد بود.
● امکانات فراموش شده
▪ امکاناتی که قبلاً در ویژوال بیسیك ۶ وجود داشتند اما در داتنت فعلی حذف شدهاند:
- OLE Container Control:
در داتنت کنترلی معادل این کنترل وجود ندارد. به همین دلیل ارتقای برنامههایی که از این کنترل استفاده میكنند، ممکن نخواهد بود.
- Dynamic Data Exchange (DDE): متدهای کانال DDE نیز در داتنت پشتیبانی نمیشوند. برنامههایی که شامل این کنترل باشند، یا باید از سایر متدهای مربوط به برقراری ارتباط بین برنامههای مختلف استفاده كنند و یا اینکه اصلاً ارتقا نیابند.
- DAO or RDO Data Binding:
اتصال به بانکهای اطلاعاتی با استفاده از این دو کنترل در داتنت حذف شده است. کنترلهای Data و Remote Data در داتنت کنترل معادلی ندارند و استفاده از آنها فقط از طریق کدنویسی امکان دارد. برنامههای متکی به این دو کنترل یا باید از کنترل ADO استفاده کنند تا امکان ارتقای آنها فراهم شود و یا اینکه از ارتقای آنها صرفنظر شود.
- Visual Basic ۵.۰ Controls:
در ویژوال بیسیك ۶ برای حفظ سازگاری برنامهها با نسخهی ۵، از کنترلهای این نسخه همانند کنترلهای رایج ویندوز (Windows Common Controls) و Data-Bound Grid نیز پشتیبانی میشود. اما اگر قصد ارتقای برنامههایی را دارید که اینگونه کنترلها در آنها به کار رفته است، یا باید این برنامهها را با نسخهی ۶ بهروز كنید و یا اینکه آنها را به حال خود رها كرده و از خیر ارتقا بگذرید.
- DHTML Applications:
تولید چنین برنامههایی در داتنت امکان ندارند. اما برنامههایی که قبلاً با نسخهی ۶ ویژوال بیسیك ایجاد شدهاند، میتوانند در محیط داتنت اجرا شوند.
- ActiveX Documents:
برنامههای مبتنی بر اسناد اکتیوایکس نیز از داتنت حذف شدهاند. این قبیل برنامهها قبل از ارتقا باید با استفاده از کنترلهای کاربر (User Controls) بازنویسی شوند، در غیر این صورت امکان ارتقای آنها وجود نخواهد داشت.
- Property Pages:
این مورد نیز در داتنت وجود ندارد و تغییر آنها در ویژوال بیسیك ۶ نیز ممکن نیست، به همین دلیل چنین برنامههایی را نیز نمیتوان ارتقا داد.
● لزوم و میزان دوبارهکاری در فرآیند ارتقا
به دلیل وجود تفاوتهای بسیار زیاد بین دو نسخهی مورد بحث ویژوال بیسیك، بیشتر برنامههایی که برای ارتقا انتخاب میشوند، نیازمند تجدید نظر و تغییراتی هر چند اندک در عناصری هستند که نمیتوانند مستقیماً به داتنت تبدیل شوند و یا اینکه با داتنت سازگاری ندارند، میزان این دوبارهکاریها بستگی به عواملی همچون نوع برنامه، امکانات و ابزارهای مورد استفاده در آن و ساختار زبان برنامهنویسی دارد.
سادهترین راه برای تعیین میزان دوبارهکاری مورد نیاز، اجرای ویزارد ارتقا و مشاهدهی فهرست نتایج گزارش ارتقاست. ویزارد ارتقا برای تبدیل یک برنامه به داتنت، نسخهی جدیدی از روی آن میسازد و نسخهی قبلی را دست نخورده باقی میگذارد. پس از مشاهدهی گزارش ارتقا، اگر میزان تغییراتی که باید اعمال شوند بهصرفه نبود، پروژهی جدید را حذف كرده و برنامهنویسی و توسعهی سیستم خود را در همان محیط ویژوال بیسیك ۶ ادامه دهید.
در زمان تصمیمگیری برای ارتقای یک پروژه، حتماً به نکات زیر توجه داشته باشید:
▪ Single-tier Database Applications:
چون ارتباط با دادهها توسط کنترل DAO در داتنت پشتیبانی نمیشود، برنامههای سادهای که با استفاده از این کنترل به دادههای محلی مانند بانکهای اطلاعاتی ایجاد شده توسط مایكروسافت اَكسس متصل شدهاند، نیاز به دوبارهکاری بیشتری نسبت به سایر برنامهها دارند.
▪ Visual Basic Add-ins:
چون ویژوال بیسیك داتنت از محیط توسعهی یکپارچهی ویژوال استودیو داتنت استفاده میكند، مدل شیئی قابل توسعهی آن با ویژوال بیسیك ۶ تفاوتهای زیادی دارد. به همین دلیل کنترلهای افزودنی Add-ins نیاز به دوبارهکاری قابل توجهی دارند.
▪ Games:
برنامههایی مانند بازیها که در آنها از کاراکترهای انیمشینی ویژوال بیسیك ۶ استفاده شده است، نیاز به دوبارهکاری خواهند داشت، زیرا این کاراکترها نیز در داتنت متفاوت هستند.
▪ Graphics:
در داتنت از متدهای طراحی فرم، شکل و یا خط خبری نیست. برنامههایی که در آنها از این متدها زیاد استفاده شده است، نیز نیاز به دوبارهکاری قابل توجهی خواهند داشت.
▪ Drag and Drop Functionality:
مدل توابع مربوط به کشیدن و رها کردن در داتنت تفاوت بسیاری با ویژوال بیسیك ۶ دارد. این توابع نیز برای کسب کارایی بهتر نیاز به بازنویسی دارند.
▪ Variants:
زمانی که پروژهای را به داتنت تبدیل میكنید، دادههای از نوع واریانت به دادههای شیئ تبدیل میشوند. اگر برنامهای دارید که در آن از این نوع داده زیاد استفاده شده است، این نوع تبدیل میتواند تفاوتهای بسیار کوچکی در خروجی نرمافزار داشته باشد. به عنوان مثال، عبارت IsObject(Variant) در ویژوال بیسیك ۶ مقدار False را باز میگرداند. در حالی که پس از ارتقا، همین عبارت به IsObject(Object) تبدیل میشود که مقدار True را باز میگرداند.
▪ Windows APIs:
به علت تغییراتی که در زبان جدید انجام شده است، برخی از فراخوانیهای مربوط به توابع ویندوز نیاز به تجدید نظر و یا جایگزینی با توابع جدید چارچوب داتنت دارند.
نویسنده: براتعلی مؤمن
منبع : ماهنامه کامپیوتری و اینترنتی کاربر
ایران مسعود پزشکیان دولت چهاردهم پزشکیان مجلس شورای اسلامی محمدرضا عارف دولت مجلس کابینه دولت چهاردهم اسماعیل هنیه کابینه پزشکیان محمدجواد ظریف
پیاده روی اربعین تهران عراق پلیس تصادف هواشناسی شهرداری تهران سرقت بازنشستگان قتل آموزش و پرورش دستگیری
ایران خودرو خودرو وام قیمت طلا قیمت دلار قیمت خودرو بانک مرکزی برق بازار خودرو بورس بازار سرمایه قیمت سکه
میراث فرهنگی میدان آزادی سینما رهبر انقلاب بیتا فرهی وزارت فرهنگ و ارشاد اسلامی سینمای ایران تلویزیون کتاب تئاتر موسیقی
وزارت علوم تحقیقات و فناوری آزمون
رژیم صهیونیستی غزه روسیه حماس آمریکا فلسطین جنگ غزه اوکراین حزب الله لبنان دونالد ترامپ طوفان الاقصی ترکیه
پرسپولیس فوتبال ذوب آهن لیگ برتر استقلال لیگ برتر ایران المپیک المپیک 2024 پاریس رئال مادرید لیگ برتر فوتبال ایران مهدی تاج باشگاه پرسپولیس
هوش مصنوعی فناوری سامسونگ ایلان ماسک گوگل تلگرام گوشی ستار هاشمی مریخ روزنامه
فشار خون آلزایمر رژیم غذایی مغز دیابت چاقی افسردگی سلامت پوست