نمایش نتایج 1 تا 14 از 14

نام تاپیک: مشکل در اجرای پروژه بعد از نصب مجدد Visual Studio 2008 و اجرای برنامه VB.NET

  1. #1
    کاربر دائمی آواتار mgh64120
    تاریخ عضویت
    تیر 1386
    محل زندگی
    جلوي كامپيوتر
    پست
    410

    Question مشکل در اجرای پروژه بعد از نصب مجدد Visual Studio 2008 و اجرای برنامه VB.NET

    با عرض سلام و خسته نباشید
    من در ادامه تعویض ویندوز ، Visual Studio 2008 رو روی سیستم نصب کردم.
    ولی در اجرای پروژه ام که با Vb.Net هست دچار مشکل شدم و برنامه ERROR میده.
    فکر کنم راجع به Module باشه. ماژولم در لیست SolutionExplorer هست و در فرم های دیگر توابع موجود در ماژولم قابل دسترس است و همچنین برنامه Build میشه ولی موقع اجرا و نمایش فرم اصلی که از یکی از توابع موجود در این ماژول استفاده میشه پیغام زیر رو میده :

    The type initializer for 'WindowsApplication1.Module1' threw an exception.

    اگه ممکنه راهنماییم کنید.


  2. #2
    کاربر دائمی آواتار mgh64120
    تاریخ عضویت
    تیر 1386
    محل زندگی
    جلوي كامپيوتر
    پست
    410

    نقل قول: مشکل در اجرای پروژه بعد از نصب مجدد Visual Studio 2008 و اجرای برنامه VB.NET

    منتظر راهنمايي هاي سازنده عزيزان هستم. ممنون!

  3. #3
    کاربر دائمی آواتار mgh64120
    تاریخ عضویت
    تیر 1386
    محل زندگی
    جلوي كامپيوتر
    پست
    410

    نقل قول: مشکل در اجرای پروژه بعد از نصب مجدد Visual Studio 2008 و اجرای برنامه VB.NET

    پروژم خوابيده اگه ممكنه راهنماييم كنيد!

  4. #4
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    تهران
    سن
    34
    پست
    608

    Thumbs up نقل قول: مشکل در اجرای پروژه بعد از نصب مجدد Visual Studio 2008 و اجرای برنامه VB.NET

    سلام .

    یه Sample از پروژه رو بذارین و بگین کی این اتفاق بیافته تا جواب بگیرین .
    سوال شما سوالی نیست که همه باهاش درگیر شده باشن .

    موفق باشین .

  5. #5
    کاربر دائمی آواتار mgh64120
    تاریخ عضویت
    تیر 1386
    محل زندگی
    جلوي كامپيوتر
    پست
    410

    Wink نقل قول: مشکل در اجرای پروژه بعد از نصب مجدد Visual Studio 2008 و اجرای برنامه VB.NET

    نقل قول نوشته شده توسط ACorvinus مشاهده تاپیک
    سلام .

    یه Sample از پروژه رو بذارین و بگین کی این اتفاق بیافته تا جواب بگیرین .
    سوال شما سوالی نیست که همه باهاش درگیر شده باشن .

    موفق باشین .
    متاسفانه پروژم رو نميتونم بذارم(حجم زياد)
    همانطور كه توضيح دادم وقتي فرم اصلي لود ميشه يه تابع رو فراخواني ميكنه كه اين تابع در ماژول (Module) قرار داره و اگر فراخواني اين تابع را در فرم اصلي حذف كنم به موارد ديگري كه در ماژول هست Error ميده مثلا متغيرهاي فراگير درون ماژول يا توابع ديگر موجود در ماژول

    در ادامه بگويم كه عنوان WindowsAppliction1 كه در پيغام خطا آمده مربوط RootNameSpace
    پروژه است و عنوان Module1 هم كه ماژول برنامه ام هست.

    فكر كنم كه توضيحاتم روشن باشه. منتظر راهنمايي هاي شما عزيزان هستم.

  6. #6
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    تهران
    سن
    34
    پست
    608

    Thumbs up نقل قول: مشکل در اجرای پروژه بعد از نصب مجدد Visual Studio 2008 و اجرای برنامه VB.NET

    سلام دوباره .

    من نگفتم تمام پروژه رو Upload کنین .

    فقط ماژول رو بزارین و بگین در Form_Load چی کار می کنین که این اتفاق می افته ؟
    همین .

    موفق باشین .

  7. #7
    کاربر دائمی آواتار mgh64120
    تاریخ عضویت
    تیر 1386
    محل زندگی
    جلوي كامپيوتر
    پست
    410

    Wink نقل قول: مشکل در اجرای پروژه بعد از نصب مجدد Visual Studio 2008 و اجرای برنامه VB.NET

    نقل قول نوشته شده توسط ACorvinus مشاهده تاپیک
    سلام دوباره .

    من نگفتم تمام پروژه رو Upload کنین .

    فقط ماژول رو بزارین و بگین در Form_Load چی کار می کنین که این اتفاق می افته ؟
    همین .

    موفق باشین .
    دويت عزيز به همه توابع Error ميده. فكر كنم با خود ماژول مشكل داره.
    فكر كنم شما فكر ميكنيد كه روتين من ايراد داره؟
    باشه اينم روتين و رويداد فرم :


    Module
    Module1
    Public blnAdd AsBoolean = False

    Public MEShamsi AsNew MEShamsiDate.ShamsiDate
    Public objConnection As SqlConnection
    Public StrVahed AsString

    '

    PrivateDeclareFunction RemoveMenu Lib"user32" (ByVal hMenu As IntPtr, ByVal nPosition AsInteger, ByVal wFlags AsLong) As IntPtr
    PrivateDeclareFunction GetSystemMenu Lib"user32" (ByVal hWnd As IntPtr, ByVal bRevert AsBoolean) As IntPtr
    PrivateDeclareFunction GetMenuItemCount Lib"user32" (ByVal hMenu As IntPtr) AsInteger

    PrivateDeclareFunction DrawMenuBar Lib"user32" (ByVal hwnd As IntPtr) AsBoolean
    '
    PrivateConst MF_BYPOSITION = &H400
    PrivateConst MF_REMOVE = &H1000
    PrivateConst MF_DISABLED = &H2
    PublicSub DisableCloseButton(ByVal hwnd As IntPtr)
    Dim hMenu As IntPtr
    Dim menuItemCount AsInteger

    '
    'Obtain the handle to the form's system menu

    hMenu = GetSystemMenu(hwnd,
    False)
    '

    'Obtain the number of items in the menu

    menuItemCount = GetMenuItemCount(hMenu)
    '

    'Remove the system menu Close menu item.

    'The menu item is 0-based, so the last

    'item on the menu is menuItemCount - 1

    Call RemoveMenu(hMenu, menuItemCount - 1, _
    MF_DISABLED
    Or MF_BYPOSITION)
    '

    'Remove the system menu separator line

    Call RemoveMenu(hMenu, menuItemCount - 2, _
    MF_DISABLED
    Or MF_BYPOSITION)
    '

    'Force a redraw of the menu. This

    'refreshes the titlebar, dimming the X

    Call DrawMenuBar(hwnd)
    EndSub

    End Module

    اينم رويداد فرم

    Private
    Sub frmMain_HandleCreated(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.HandleCreated
    DisableCloseButton(
    Me.Handle)
    EndSub


  8. #8
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    تهران
    سن
    34
    پست
    608

    Thumbs up نقل قول: مشکل در اجرای پروژه بعد از نصب مجدد Visual Studio 2008 و اجرای برنامه VB.NET

    خوب .

    با اینکه حدس میزدم این کد در PC من بدون خطا اجرا میشه ولی بازم تمایل داشتم ببینم میخوای چی کار کنی .

    این کد شما در ControlBox فرم کلید Close رو غیر فعال می کنه .
    دوست من استفاده از Module در اینجور موارد درست نیست چون یه روش بهتر از اینم وجود داره و اون این که شما یه فرم دیگه درست کنین و دستوراتی که این عمل رو انجام میدن (عمل غیر فعال کردن دکمه بستن فرم) رو در اون فرم بنویسین .

    نتیجه: شما یک فرمی دارین که هیچ کنترلی نداره و فقط در بخش کدنویسیش از چند تا توابع API و چند تا متغیر و یه روال که Private هستش رو داره که این روال از رویداد HandleCreated همون فرم فراخوانی میشه .

    تا اینجا که مشکلی نداریم .

    حالا هر فرمی که میخواین دکمه Close اون غیر فعال باشه دیگه لزومی نداره در رویداد HandleCreated اون، روالی که در Module نوشتین رو فراخوانی کنین . کافیه از فرمی که ایجاد کردین ارث بری کنین . (این عمل باعث میشه که حتی در حالت Design هم دکمه Close غیرفعال باشه !!!)

    برای ارث بری از فرم ایجاد شده، بر روی فرمی که میخواین از "فرم ایجاد شده" ارث ببره، کلیک کرده و F7 رو فشار بدین، از Class Name Combobox نام فرم رو انتخاب کنین و حالا از قسمت
    Method Name Combobox گزینه InitializeComponent رو انتخاب کنین .

    بعد از انتخاب این گزینه صفحه ای باز میشه که کدهایی در اون نوشته شده، به ابتدای کدها رفته و سطر سوم که به این صورت هستش:

    Inherits System.Windows.Forms.Form

    رو به:

    Inherits YourCreatedFormName

    تغییر دهید که در اینجا YourCreatedFormName همون فرمی هست که میخواین ازش ارث ببرین . حالا میتونین به فرم خودتون برگشته و تغغییرات رو مشاهده کنین .

    اگه بازم مشکلی بود بگین . موفق باشین .

  9. #9
    کاربر دائمی آواتار mgh64120
    تاریخ عضویت
    تیر 1386
    محل زندگی
    جلوي كامپيوتر
    پست
    410

    نقل قول: مشکل در اجرای پروژه بعد از نصب مجدد Visual Studio 2008 و اجرای برنامه VB.NET

    دوست عزيز ممنون از راهنمايي مفيد شما
    اما من توي ماژولم تنها اين روتين رو ندارم بلكه توابع و متغيرهاي زيادي دارم كه اونها رو براتون نگذاشتم.
    از جمله DLL مربوط به تاريخ شمسي.
    مشكل و سوال اصلي من اينه كه چرا يه پروژه كه توي يه سيستم درست كار ميكرده و بعد از تعويض سيستم عامل و نصب مجدد ويژوال بايد پيغام خطا بده ؟؟؟ (بدون هيچ تغييري !)
    يعني اگر كسي مجبور باشه از ماژول توي برنامه اش استفاده كنه بايد با اين مشكل مواجه باشه؟
    بازهم تشكر ميكنم از راهنمايي و توجه و زماني رو كه براي اين حقير گذاشتيد.
    و اين رو بگم كه اگر من اين روتين رو پاك كنم، به تابع يا متغير يا روتين فراگير ديگه اي كه كل برنامه ازش استفاده ميكنه و لازمه كه در دسترس كل برنامه باشه ERROR ميده ؟
    باتشكر
    منتظر نظرات و راهنماييتون هستم ؟

  10. #10
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    تهران
    سن
    34
    پست
    608

    Thumbs up نقل قول: مشکل در اجرای پروژه بعد از نصب مجدد Visual Studio 2008 و اجرای برنامه VB.NET

    نقل قول نوشته شده توسط mgh64120 مشاهده تاپیک
    دوست عزيز ممنون از راهنمايي مفيد شما
    اما من توي ماژولم تنها اين روتين رو ندارم بلكه توابع و متغيرهاي زيادي دارم كه اونها رو براتون نگذاشتم.
    از جمله DLL مربوط به تاريخ شمسي.
    مشكل و سوال اصلي من اينه كه چرا يه پروژه كه توي يه سيستم درست كار ميكرده و بعد از تعويض سيستم عامل و نصب مجدد ويژوال بايد پيغام خطا بده ؟؟؟ (بدون هيچ تغييري !)
    يعني اگر كسي مجبور باشه از ماژول توي برنامه اش استفاده كنه بايد با اين مشكل مواجه باشه؟
    بازهم تشكر ميكنم از راهنمايي و توجه و زماني رو كه براي اين حقير گذاشتيد.
    و اين رو بگم كه اگر من اين روتين رو پاك كنم، به تابع يا متغير يا روتين فراگير ديگه اي كه كل برنامه ازش استفاده ميكنه و لازمه كه در دسترس كل برنامه باشه ERROR ميده ؟
    باتشكر
    منتظر نظرات و راهنماييتون هستم ؟
    شما چرا از Class استفاده نمی کنین ؟
    البته همون طور که گفتم من اینی که شما گفتین رو در Win-7 امتحال کردم و درست کار کرد.

    شما از یه کلاس استفاده کنین و هربار که میخواین از توابع موجود در کلاس استفاده کنین از این کلاس یه Instance گرفته و کارتون رو را بندازین .

    برای مثال اگر در کلاس xClass یه تابع به اسم Y دارین که تاریخ شمسی رو برمیگردونه؛ این کارو انجام بدین.

     
    Dim xClassInstance As New xClass

    Me.DateTextBox.Text = xClassInstance.Y

    اگه بازم مشکلی بود بفرمائین . راستی سیستم عامل شما چیه ؟

  11. #11
    کاربر دائمی آواتار mgh64120
    تاریخ عضویت
    تیر 1386
    محل زندگی
    جلوي كامپيوتر
    پست
    410

    نقل قول: مشکل در اجرای پروژه بعد از نصب مجدد Visual Studio 2008 و اجرای برنامه VB.NET

    با عرض سلام خدمت شما دوست گرامي
    ابتداً خدمت شما عرض كنم كه متاسفانه به دليل پايين بودن سطح كامپيوترم از ويندوز XP استفاده ميكنم.
    براي استفاده از كلاس من نياز به كمك شما دارم.
    اگه ممكنه يه نمونه استفاده از DLL و يه نمونه استفاده از متغير فراگير رو در كلاس برام بزاريد. و همينطور نحوه استفاده كد غيرفعال كردن دكمه Close فرم كه در بالا براتون گذاشتم.
    ممنون از راهنماييتون!
    من نمونه هاي خودم رو ميزارم اگه ممكنه اونا رو تبديل كنيد
    نمونه ي DLL :

    Public MEShamsi AsNew MEShamsiDate.ShamsiDate
    ' طريقه استفاده

    Text1.Text =
    MEShamsi.Today

    و نمونه متغير فراگير :

    Public objConnection As SqlConnection
    'طريق استفاده

    objConnection =
    New SqlConnection("server=localhost;database=Master;user id=sa;password=12345;")

    ضمناً در ضميمه، DLL رو براتون گذاشتم.
    در پناه حق باشيد.
    فایل های ضمیمه فایل های ضمیمه

  12. #12
    کاربر دائمی
    تاریخ عضویت
    مهر 1387
    محل زندگی
    تهران
    سن
    34
    پست
    608

    Thumbs up نقل قول: مشکل در اجرای پروژه بعد از نصب مجدد Visual Studio 2008 و اجرای برنامه VB.NET

    سلام .

    ببخشین من فکر می کردم جوابتون رو گرفتین .
    اینم نمونه برنامه : DisableFormCloseButton.rar
    تاریخ شمسی هم در داخلش هست .

    ولی منظورتون رو از متغیر فراگیر نفهمیدم !!! یعنی چی که متغیر فراگیر ؟!

  13. #13
    کاربر دائمی آواتار mgh64120
    تاریخ عضویت
    تیر 1386
    محل زندگی
    جلوي كامپيوتر
    پست
    410

    نقل قول: مشکل در اجرای پروژه بعد از نصب مجدد Visual Studio 2008 و اجرای برنامه VB.NET

    منظورم از متغير فراگير، متغيري است كه در ماژول به صورت Public تعريف ميشود تا در اختيار كل فرمهاي پروژه قرار گيرد.

  14. #14
    کاربر تازه وارد آواتار hamid_khakzad
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    اصفهان
    پست
    71

    نقل قول: مشکل در اجرای پروژه بعد از نصب مجدد Visual Studio 2008 و اجرای برنامه VB.NET

    با عرض سلام خدمت دوست عزیز
    من هم چند روز پیش دقیقا با مشکلی که الان شما دارین برخورد کردم
    من تو برنامم یه ماژول داشتم و یه سری روتین و تابع یه صورت public داخلش تعریف کرده بودم و در فرم های دیگه از این روتین ها و توابع استفاده می کردم

    برنامه ای که نوشتم رو سیستم خودم هیچ مشکلی نداشت ولی وفتی رو سیستم مشتری فریم ورک را نصب می کردم و برنامه را اجرا می کردم ارور Dont Send بهم می داد که دقیقا وقتی دیباگ می کردم با پیغام خطای type initializer مواجه می شدم
    بعد از کلی تلاش و کلنجار رفتن به این نتیجه رسیدم که فریم ورکی که روی سیستم مشتری نصب بود را پاک کنم و فریم ورکی که خودم روی فلش داشتم و روی سیستم خودم هم نصب بود را روی سیتم مشتری نصب کنم و بعد از این کار دقیقا مشکلم حل شد

    اگه راهنمایی بیشتر خواستین در خدمتتون هستم

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •