نکتهي مهم قبل از ارتقاي پروژه
ويژوال بيسيك داتنت نسبت به نسخههای قبلی ويژوال بيسيك تغییرات زیادی داشته است. چون این نسخه برای بهرهبرداری بیشتر از امکانات چارچوب داتنت طراحی شده، تمامی راههاي حفظ سازگاری با نسخههای قبلی در آن بسته شده است.
نکته: هر دو نسخهي 6 و داتنت ويژوال بيسيك و برنامههاي نوشته شده با اين دو زبان را ميتوان همزمان بدون هیچ مشکلی با هم روی یک کامپیوتر نصب و اجرا كرد. اجزا و کنترلهای ایجاد شده در ويژوال بيسيك داتنت ميتوانند با اجزای COM ایجاد شده در نسخههای قبلی و نیز در سایر زبانها ارتباط برقرار كرده و بدون دردسر با هم کار کنند.
در بيشتر موارد، هدف از ارتقاي یک پروژه به داتنت، برخورداری از امکانات و قابلیتهای موجود در چارچوب داتنت برای توسعهي برنامههاست. با این حال به دلايل مختلفي همچون عدم پشتيباني داتنت از برخي از امكانات مورد نياز و يا دوبارهكاري زياد به دليل عدم سازگاري دو نسخه و ...، مواردی نیز پیش ميآید که طي آن توسعهي یک برنامهي تحت ويژوال بيسيك 6 خيلي باصرفهتر از ارتقاي آن به داتنت خواهد بود.
امکانات فراموش شده
امکاناتی که قبلاً در ويژوال بيسيك 6 وجود داشتند اما در داتنت فعلي حذف شدهاند:
- OLE Container Control: در داتنت کنترلی معادل این کنترل وجود ندارد. به همین دلیل ارتقاي برنامههایی که از این کنترل استفاده ميكنند، ممکن نخواهد بود.
- Dynamic Data Exchange (DDE): متدهای کانال DDE نیز در داتنت پشتیبانی نمیشوند. برنامههایی که شامل این کنترل باشند، یا باید از سایر متدهای مربوط به برقراری ارتباط بین برنامههای مختلف استفاده كنند و یا اینکه اصلاً ارتقا نیابند.
- DAO or RDO Data Binding: اتصال به بانکهای اطلاعاتی با استفاده از این دو کنترل در داتنت حذف شده است. کنترلهای Data و Remote Data در داتنت کنترل معادلی ندارند و استفاده از آنها فقط از طریق کدنویسی امکان دارد. برنامههای متکی به این دو کنترل یا باید از کنترل ADO استفاده کنند تا امکان ارتقاي آنها فراهم شود و یا اینکه از ارتقاي آنها صرفنظر شود.
- Visual Basic 5.0 Controls: در ويژوال بيسيك 6 برای حفظ سازگاری برنامهها با نسخهي 5، از کنترلهای این نسخه همانند کنترلهای رایج ویندوز (Windows Common Controls) و Data-Bound Grid نیز پشتیبانی ميشود. اما اگر قصد ارتقاي برنامههایی را دارید که اینگونه کنترلها در آنها به کار رفته است، یا باید اين برنامهها را با نسخهي 6 بهروز كنيد و یا اینکه آنها را به حال خود رها كرده و از خیر ارتقا بگذرید.
- DHTML Applications: تولید چنین برنامههایی در داتنت امکان ندارند. اما برنامههایی که قبلاً با نسخهي 6 ويژوال بيسيك ایجاد شدهاند، ميتوانند در محیط داتنت اجرا شوند.
- ActiveX Documents: برنامههای مبتنی بر اسناد اکتیوایکس نیز از داتنت حذف شدهاند. این قبیل برنامهها قبل از ارتقا باید با استفاده از کنترلهای کاربر (User Controls) بازنویسی شوند، در غیر این صورت امکان ارتقاي آنها وجود نخواهد داشت.
- Property Pages: این مورد نیز در داتنت وجود ندارد و تغییر آنها در ويژوال بيسيك 6 نیز ممکن نیست، به همین دلیل چنین برنامههایی را نیز نمیتوان ارتقا داد.
لزوم و میزان دوبارهکاری در فرآيند ارتقا
به دلیل وجود تفاوتهای بسیار زیاد بین دو نسخهي مورد بحث ويژوال بيسيك، بيشتر برنامههایی که برای ارتقا انتخاب ميشوند، نیازمند تجدید نظر و تغییراتی هر چند اندک در عناصری هستند که نمیتوانند مستقیماً به داتنت تبدیل شوند و یا اینکه با داتنت سازگاری ندارند، میزان این دوبارهکاریها بستگی به عواملی همچون نوع برنامه، امکانات و ابزارهای مورد استفاده در آن و ساختار زبان برنامهنویسی دارد.
سادهترین راه برای تعیین میزان دوبارهکاری مورد نیاز، اجرای ویزارد ارتقا و مشاهدهي فهرست نتایج گزارش ارتقاست. ویزارد ارتقا برای تبدیل یک برنامه به داتنت، نسخهي جدیدی از روی آن ميسازد و نسخهي قبلی را دست نخورده باقی ميگذارد. پس از مشاهدهي گزارش ارتقا، اگر میزان تغییراتی که باید اعمال شوند بهصرفه نبود، پروژهي جدید را حذف كرده و برنامهنویسی و توسعهي سیستم خود را در همان محیط ويژوال بيسيك 6 ادامه دهید.
در زمان تصمیمگيري براي ارتقاي یک پروژه، حتماً به نکات زیر توجه داشته باشيد:
* Single-tier Database Applications: چون ارتباط با دادهها توسط کنترل DAO در داتنت پشتیبانی نمیشود، برنامههای سادهای که با استفاده از این کنترل به دادههای محلی مانند بانکهای اطلاعاتی ایجاد شده توسط مايكروسافت اَكسس متصل شدهاند، نیاز به دوبارهکاري بیشتری نسبت به سایر برنامهها دارند.
* Visual Basic Add-ins: چون ويژوال بيسيك داتنت از محیط توسعهي یکپارچهي ویژوال استودیو داتنت استفاده ميكند، مدل شیئی قابل توسعهي آن با ويژوال بيسيك 6 تفاوتهای زيادي دارد. به همین دلیل کنترلهای افزودنی Add-ins نیاز به دوبارهکاری قابل توجهی دارند.
* Games: برنامههایی مانند بازیها که در آنها از کاراکترهای انیمشینی ويژوال بيسيك 6 استفاده شده است، نیاز به دوبارهکاری خواهند داشت، زیرا این کاراکترها نیز در داتنت متفاوت هستند.
* Graphics: در داتنت از متدهای طراحی فرم، شکل و یا خط خبری نیست. برنامههایی که در آنها از این متدها زیاد استفاده شده است، نیز نیاز به دوبارهکاری قابل توجهی خواهند داشت.
* Drag and Drop Functionality: مدل توابع مربوط به کشیدن و رها کردن در داتنت تفاوت بسیاری با ويژوال بيسيك 6 دارد. این توابع نیز برای کسب کارایی بهتر نیاز به بازنویسی دارند.
* Variants: زمانی که پروژهای را به داتنت تبدیل ميكنيد، دادههای از نوع واریانت به دادههای شیئ تبدیل ميشوند. اگر برنامهای دارید که در آن از این نوع داده زیاد استفاده شده است، این نوع تبدیل ميتواند تفاوتهای بسیار کوچکی در خروجی نرمافزار داشته باشد. به عنوان مثال، عبارت IsObject(Variant) در ويژوال بيسيك 6 مقدار False را باز ميگرداند. در حالی که پس از ارتقا، همین عبارت به IsObject(Object) تبدیل ميشود که مقدار True را باز ميگرداند.
* Windows APIs: به علت تغییراتی که در زبان جديد انجام شده است، برخی از فراخوانیهای مربوط به توابع ویندوز نیاز به تجدید نظر و یا جایگزینی با توابع جدید چارچوب داتنت دارند.
راهنمای تبديل برنامههای ويژوال بيسيك 6 به ويژوال بيسيك داتنت
در اين بخش ميتوانيد جديدترين اخبار دنياي کامپيوتر و اينترنت را مطالعه کنيد
مدیر انجمن: شوراي نظارت
بازگشت به “تازه ها و اخبار دنياي کامپيوتر”
پرش به
- بخشهاي داخلي
- ↲ اخبار و قوانين سايت
- ↲ سوالات، پيشنهادات و انتقادات
- ↲ مرکز جوامع مجازي - CentralClubs Network
- ↲ سرويس ميزباني وب - CentralClubs Hosting
- ↲ مجله الکترونيکي مرکز انجمنهاي تخصصي
- بخش تلفن همراه
- ↲ نرم افزار تلفن همراه
- ↲ Symbian App
- ↲ Android App
- ↲ Windown Phone App
- ↲ iOS App
- ↲ JAVA Mobile App
- ↲ بازيهاي تلفن همراه
- ↲ Symbian Games
- ↲ Android Games
- ↲ iOS Games
- ↲ Windows Phone Games
- ↲ JAVA Mobile Games
- ↲ گوشيهاي تلفن همراه
- ↲ Sony
- ↲ Samsung
- ↲ GLX
- ↲ Dimo
- ↲ Huawei
- ↲ Motorola
- ↲ Nokia
- ↲ گوشيهاي متفرقه
- ↲ سرگرميهاي تلفن همراه
- ↲ خدمات و سرويسهاي مخابراتي
- ↲ تازه ها و اخبار تلفن همراه
- ↲ مطالب كاربردي تلفن همراه
- ↲ متفرقه در مورد تلفن همراه
- ↲ سوالات و اشکالات تلفن همراه
- بخش كامپيوتر
- ↲ نرم افزار كامپيوتر
- ↲ گرافيک و طراحي کامپيوتري
- ↲ طراحي صفحات اينترنتي
- ↲ سوالات و اشکالات نرم افزاري
- ↲ برنامه نويسي
- ↲ C Base Programming
- ↲ Dot Net Programming
- ↲ Web Programming
- ↲ Other Programming
- ↲ Software Engineering
- ↲ Java Programming
- ↲ Database Programming
- ↲ سخت افزار كامپيوتر
- ↲ امنيت و شبكه
- ↲ امنيت
- ↲ شبکه
- ↲ تازه ها و اخبار دنياي کامپيوتر
- ↲ مطالب كاربردي كامپيوتر
- ↲ متفرقه در مورد کامپيوتر
- بخش هوا فضا
- ↲ نيروي هوايي ايران
- ↲ متفرقه درباره نیروی هوایی
- ↲ نیروی هوایی و سازندگی
- ↲ حماسه و حماسه آفرینان نيروي هوايي
- ↲ تیزپروازان در بند
- ↲ شهدا و جانباختگان نیروی هوایی
- ↲ عملیاتهاي نيروي هوايي
- ↲ دستاوردها و اخبار نيروي هوايي
- ↲ تاریخچه نیروی هوایی در ایران
- ↲ هوانيروز ايران
- ↲ حماسه و حماسه آفرينان هوانيروز
- ↲ شهدا و جانباختگان هوانيروز
- ↲ دستاوردها و اخبار هوانيروز
- ↲ هواپيماها
- ↲ هواپيماهاي نظامي
- ↲ هواپيماهاي غير نظامي
- ↲ هواپيماهاي بدون سرنشين
- ↲ بالگردها
- ↲ بالگردهاي نظامي
- ↲ بالگردهاي غير نظامي
- ↲ بالگردهاي بدون سرنشين
- ↲ اخبار بالگردها
- ↲ تسليحات هوايي
- ↲ موشكهاي هوا به هوا
- ↲ موشكهاي هوا به زمين
- ↲ موشکهاي دريايي
- ↲ موشکهاي زمين به هوا
- ↲ موشکهاي زمين به زمين
- ↲ ديگر مباحث هوانوردي
- ↲ الکترونيک هواپيمايي
- ↲ موتورهاي هوايي
- ↲ شبيه سازهاي پرواز
- ↲ گالري تصاوير هوافضا
- ↲ تصاوير هواپيماهاي جنگنده
- ↲ کليپهاي هوايي
- ↲ تصاوير هواپيماهاي بمب افکن
- ↲ تصاوير هواپيماهاي ترابري
- ↲ تصاوير هواپيماهاي مسافربري
- ↲ تصاوير هواپيماهاي شناسايي
- ↲ تصاوير بالگردهاي نظامي
- ↲ تصاوير بالگردهاي غير نظامي
- ↲ تصاوير نمايشگاههاي هوايي
- ↲ تصاوير متفرقه هوايي
- ↲ انجمن نجوم
- ↲ منظومه شمسي
- ↲ كيهانشناسي
- ↲ گالري تصاوير نجوم
- ↲ اخبار نجوم
- ↲ اخبار هوافضا و هوانوردي
- ↲ مدرسه هوانوردي
- ↲ كتابخانهي هوا فضا
- ↲ متفرقه در مورد هوا فضا
- بخش جنگ افزار
- ↲ ادوات زميني
- ↲ ادوات زرهي
- ↲ تجهيزات انفرادي
- ↲ تسليحات سنگين و توپخانهاي
- ↲ خودروهاي نظامي
- ↲ تسليحات ضد زره
- ↲ ادوات دريايي
- ↲ ناوهاي هواپيمابر
- ↲ ناوشکنها
- ↲ رزم ناوها
- ↲ ناوچهها
- ↲ زيردرياييها
- ↲ تجهيزات و تسليحات دريايي
- ↲ ساير ادوات دريايي
- ↲ گالري تجهيزات و ادوات دريايي
- ↲ اخبار ادوات دريايي
- ↲ اخبار نظامي
- ↲ گالري نظامي
- ↲ متفرقه در مورد جنگ افزار
- بخش دفاع مقدس
- ↲ حماسه دفاع مقدس
- ↲ تخريب و خنثي سازي
- بخش خودرو و وسايل نقليه
- ↲ مباحث فنی و تخصصی خودرو
- ↲ معرفي خودرو
- ↲ تازهها و اخبار خودرويي
- ↲ گالري خودرو
- ↲ متفرقه وسايل نقليه
- بخش پزشکي
- ↲ پزشكي و درمان
- ↲ پزشکي
- ↲ سوال پزشکي
- ↲ بهداشت
- ↲ بهداشت عمومي
- ↲ بهداشت مواد غذايي
- ↲ لوازم آرايشي و بهداشتي
- ↲ متفرقه در مورد پزشکي
- ↲ روانشناسي و روان پزشكي
- بخش فرهنگ، تمدن و هنر
- ↲ فرهنگي هنري
- ↲ شعر و ادبيات
- ↲ فيلم و سينما
- ↲ هنرهاي نمايشي
- ↲ فرهنگ هنرهاي نمايشي
- ↲ موسيقي
- ↲ عكس و نقاشي
- ↲ تاريخ، فرهنگ و تمدن
- ↲ تاريخ ايران
- ↲ تاريخ جهان
- ↲ فلسفه
- ↲ زبانهاي خارجي
- ↲ زبان انگليسي
- ↲ زبان اسپانيايي
- ↲ هنر آشپزي
- بخش علم، فناوري و آموزش
- ↲ انجمن علم و فناوري
- ↲ انجمن آموزش
- ↲ کتاب و فرهنگ مطالعه
- ↲ دانش عمومی
- ↲ کنکور و دانشگاه
- ↲ جامعه شناسي
- ↲ خانواده
- ↲ متفرقه جامعه شناسي
- ↲ حقوق و قضا
- ↲ علوم
- ↲ فيزيک
- ↲ شيمي
- ↲ رياضي
- ↲ متالورژي
- ↲ پليمر
- ↲ علوم کشاورزي
- ↲ گياهان زراعي و باغي
- ↲ گياهان دارويي
- ↲ طبیعت و محیط زیست
- ↲ زيست شناسي
- ↲ عمران
- ↲ بتن و سازههاي بتني
- ↲ معماري و شهرسازي
- ↲ سبکها و مشاهير معماري
- ↲ شهرسازي
- ↲ معماري داخلي
- ↲ معماري منظر
- بخش الکترونيک و رباتیک
- ↲ مفاهیم اولیه و پایه در الکترونیک
- ↲ نرم افزارهای کمکی الکترونیک
- ↲ مدارهای مجتمع
- ↲ سوالات و پرسشهای مفاهیم پایه
- ↲ مدارات ساده و آسان
- ↲ مدارهای آنالوگ و دیجیتال
- ↲ شبیه ساز و طراحی مدار
- ↲ مدارات صوتی
- ↲ مدارات، منابع تغذیه سویچینگ و اینورتوری
- ↲ مدارات مخابراتی
- ↲ میکروکنترلرهای AVR
- ↲ آموزش و مثالها AVR
- ↲ طرح آماده و کامل شده AVR
- ↲ میکروکنترلرهای ARM
- ↲ سایر میکروکنترولرها و پردازندهها
- ↲ سایر میکروکنترلرها
- ↲ مدار مجتمع برنامه پذیر FPGA
- ↲ رباتیک
- ↲ اخبار و مصاحبه ها در رباتیک
- ↲ آموزش و مقالات رباتیک
- ↲ پروژهها تکمیل شده رباتیک
- ↲ مدارها و مکانیک در رباتیک
- ↲ رباتهای پرنده
- ↲ برق و الکترونیک عمومی
- ↲ تعمیر لوازم برقی
- ↲ اخبار برق و الکترونیک
- بخش بازيهاي رايانهاي
- ↲ بازيهاي رايانهاي
- ↲ كنسولهاي بازي
- ↲ PSP
- ↲ اخبار بازيها
- بخش تجاري اقتصادي
- ↲ بخش اقتصادی و مالی
- ↲ تجارت آنلاين
- ↲ بورس
- ↲ تحلیل و سیگنال روز
- ↲ کار آفرینی
- بخشهاي متفرقه
- ↲ بخش ويژه
- ↲ ساير گفتگوها
- ↲ صندلي داغ
- ↲ اخبار و حوادث
- ↲ انجمن ورزش
- ↲ آکواريوم و ماهيهاي زينتي
- ↲ معرفي سايتها و وبلاگها
