ويژوال بيسيك ۶ يا ۵؟

اگر شما هم از ويژوال بيسيك 6 براي برنامه نويسي استفاده مي كنيد، يك عيب دارد كه ويژوال بيسيك 5 آن را مرتفع مي كند. فايل msvbvm60.dll. اين فايل احتمالا تا حالا خيلي حال شما را گرفته است و برنامه تان را به كسي داده ايد و او گفته است كه اجرا نمي شود. همه برنامه هاي نوشته شده با ويژوال بيسيك ۶ به اين dll نياز دارند. در ويژوال بيسيك ۵، فايل msvbvm50.dll استفاده مي شود كه به طور پيش فرض در ويندوز ۹۸ قرار گرفته است. بنابراين اگر شما برنامه هاي خودتان را با ويژوال بيسيك ۵ EXE كنيد، ديگر به چنين مشكلي بر نخواهيد خورد (قول ميدم).
و اما Activex ها.
احتمالا برنامه شما به يك سري activex نيز ربط دارد.
ٌاگر شما هم از كنترل هاي MSCOMCTL.OCX استفاده مي كنيد و وقتي برنامه تان را به كسي مي دهيد، روي كامپيوترش اجرا نمي شود، مي توانيد از كتابخانه ComCtl32.ocx استفاده كنيد. اين فايل نيز به طور پيش فرض با ويندوز 98 نصب ميشود. كه بيشتر كنترل هاي MSCOMCTL.OCX را دارد. فقط يك سري امكانات كمتر دارد مثل نبود FullRowSelect در TreeView و ListView و نبود Orientation در ProgressBar و از اين جور چيزهاي جزئي.
قيد Comct332.ocx يعني Coolbar را به كلي بزنيد. چون اين فايل را حتي اگر برنامه خود را Setupy بكنيد و به كس ديگري بدهيد اجرا نمي شود و او حتما بايد Activexهاي ويژوال بيسيك 6 را نصب كرده باشد تا بتواند اين برنامه را اجرا كند. (2 سال پيش امتحانش كردم نشد).

در مورد CommonDialog(ComDlg32.OCX) بايد يكي از اين دو راه سخت! را در پيش گيريد:
1-يا ComDlg32.OCX مال ويژوال بيسيك 5 رو گير بيارين و تو برنامه تون از اون استفاده كنين.
2-يا اينكه از تابع GetOpenFileName استفاده كنيد.

اگر با محيط ويژوال بيسيك 6 عادت داريد (البته فرق چنداني با 5 نداره) و مي خواهيد پروژه خود را در ويژوال بيسيك 5 باز كنيد و به يك خطا بر مي خوريد، فايل VBP را با يك Editor باز كرده و قسمت Retained=0 را حذف كرده و فايل را Save كنيد. با اين كار پروژه شما در ويژوال يسيك 5 نيز باز ميشود.

اگر با استفاده از كنترل MSINET، برنامه نويسي اينترنت مي كنيد، مي توانيد به جاي آن از توابع API منتاظر مثل InternetOpen، InternetOpenURL، FTPGetFile و … استفاده كنيد تا برنامه تان به MSINET.OCX وابسته نباشد.

خلاصه كلام: سعي كنيد تا جايي كه ميشه از Activex استفاده نكنيد.
  
نویسنده : محمد ; ساعت ۳:۱۱ ‎ق.ظ روز پنجشنبه ۸ اسفند ،۱۳۸۱