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

نام تاپیک: استفاده از دو زبان VB و #C در یک برنامه

  1. #1
    کاربر دائمی آواتار baran_mehr
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    شهر آفتاب گرمسار
    پست
    1,129

    Smile استفاده از دو زبان VB و #C در یک برنامه

    سلام دوستان.
    چطور میتونم تو یک برنامه چند تا فرم داشته باشم که با دو زبان VB و #C نوشته شده باشه؟
    و چطور باید بین اونها ارتباط مناسبی برقرار کرد.
    و آیا این کار از نظر استاندارهای برنامه نویسی اصولی هست یا نه؟
    ممنون .

  2. #2

    نقل قول: استفاده از دو زبان VB و #C در یک برنامه

    البته من کوچگتر از اونم که بخوام نظر بدم
    فکر نمی کنم کار استانداردی باشه
    در ضمن چرا می خواین این کارو کنین مگه کاری که با C#‎ می شه کرد رو با vb نمی شه یا بالعکس
    البته من تو پروژه های وب دیدم که این کارو می کنن البته تو وب هم کد هر صفحه رو فقط با یه زبان می نویسن اما تا حالا تو ویندوز ندیدم این کارو بکنن
    اگرم این کار شدنی باشه من که نمی دونم چه طور

  3. #3
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: استفاده از دو زبان VB و #C در یک برنامه

    مسلما این کار رو با یه کامپایلر نمیتونین انجام بدین چون در ساده ترین حالت کامپایلر #C برای syntax های VB خطا خواهد گرفت!
    میتونین اون قسمت از کدهایی که میخواین به زبان VB‌باشن رو با کامپایلر VB بصورت class library کامپایل کنین و به reference های پروژه #C تون اضافه کرده و از کلاس ها و متدهاش در میان کدهای #C استفاده کنید.
    البته بصورت runtime‌ میشه توسط برنامه ای که با #C‌نوشته شده کد های VB رو کامپایل کرده و اجرا کرد که البته زیاد به این سوال ارتباطی نداره.
    در کل من چنین کاری که شما گفتید رو ندیدم جایی! و نیازی هم به چنین کاری نیست و در صورت نیاز میتوان از همون روشی که برای class library‌گفتم استفاده کرد.

    موفق باشید
    jooje

  4. #4

    Smile نقل قول: استفاده از دو زبان VB و #C در یک برنامه

    سلام ، همانطور که دوستان گفتند فکر نکنم نیاز به چنین کاری باشه !!!! وی بی کجا و

    #C با فناوری دات نت کجا ؟؟؟ هر کاری که تو وی بی بشه ، چند برابر اون تو #C

    ممکنه !!! حال آنکه تو #C امکاناتی هست که VB ندارد !!!!

  5. #5
    کاربر دائمی آواتار baran_mehr
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    شهر آفتاب گرمسار
    پست
    1,129

    نقل قول: استفاده از دو زبان VB و #C در یک برنامه

    سلام خدمت همه دوستان گلم
    ممنون از راهنمایی های خوبتون.
    منظورم این نیست که تو یک فرم از دوزبان برنامه نویسی استفاده بشه.مثلا ما یک برنامه داشته باشیم که چند تا فرم اون با VB.NET و #C باشه که بتونه باهم کار کنه.
    اینو برای این پرسیدم که گاهی اوقات یک گروه برنامه نویسی میخوان با هم یک پروژه بزرگ رو انجام بدن و شاید نیاز باشه که از دو زبان استفاده بشه تا کارها سریع تر پیش بره.
    میخواستم ببینم کلا چطور میشه این کار رو انجام داد.

  6. #6
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: استفاده از دو زبان VB و #C در یک برنامه

    خوب این کار دقیقا با استفاده از class library ها انجام میشه.
    فرض کنید شما تو یک تیم هستید و فقط با VB .NET بلدین کار کنین، ولی بقیه تیم قراره با #C کار کنن. ولی این کار باعث نخواهد شد که شما نتونین با اون تیم کار کنید. بلکه فناوری NET.‌این امکان رو به شما میده که با بلد بودن فقط یکی از زبانهای تحت NET. بتونین با بقیه زبان ها هم کنار بیاین.
    کاری که به عنوان یک عضو تم انجام میدیدن اینه که شما با VB .NET فرم هایی که میخواین رو طراحی میکنید و برنامه نویسی شو هم انجام میدین (در واقع یک برنامه کامل می نویسین) حالا اون رو بصورت class library کامپایل کرده و فایل dll (یا فایلهای) حاصل رو در اختیار تیم قرار میدین. اونا این dll ها رو به reference‌پروژه اصلی اضافه کرده و از فرم هایی که شما طراحی کردین تو یک پروژه #C‌استفاده میکنند.
    این کار به این دلیل امکان پذیر است که اسمبلی های تولید شده توسط NET. (مانند فایل های Exe و dll) به زبان MSIL تبدیل میشن و این زبان بین همه زبان های تحت NET. مشترک است. به همین دلیل اصلا فرق نخواهد کرد که این کد MSIL‌موجود قبلا با VB .NET نوشته شده یا #C‌، بلکه مهم اینه که MSIL‌ باشه!
    حالا نکته ای که هست اینه که شما چطور مطمئن بشید که کدهای MSIL‌تولید شده توسط VB.NET تو #C‌ حتما ساپورت میشه و مشکلی بوجود نمیاد؟ (چون مثلا #C سربارگذاری عملگر رو داره ولی VB.NET‌ نداره و ممکنه سر اینجور مسائل مشکلاتی بوجود بیاد)
    برای اطمینان از این موضوع شما کلاس هایی که دارین با VB .NET‌مینویسین رو بصورت CLS-Complaint تعریف میکنید. در واقع یک Attribute‌ به کلاس هاتون اضافه میکنید که با این کار 100٪ کد MSIL‌تولید شده تو هر زبان تحت NET.‌دیگه ای ساپورت خواهد شد)

    نمونه کد:
    [CLS-Complaint]
    class MyVBClass
    {
    //my VB .NET codes here
    }


    موفق باشید
    jooje

  7. #7

  8. #8
    کاربر دائمی آواتار baran_mehr
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    شهر آفتاب گرمسار
    پست
    1,129

    نقل قول: استفاده از دو زبان VB و #C در یک برنامه

    bermooda جان ممنون از توضیحت .
    پس با این تفاسیر باید کدها رو به DLL تبدیل کنیم و بعد به رفرنس اضافه کنیم
    اما یه سوال چطور باید یک فرم رو به DLL تبدیل کرد؟؟؟ من کدها رو دیدم که به DLL تبدیل می کنن اما هنوز فرم ها رو ندیدم؟

  9. #9

  10. #10
    کاربر تازه وارد آواتار siavashr
    تاریخ عضویت
    شهریور 1385
    محل زندگی
    هلند
    پست
    68

    نقل قول: استفاده از دو زبان VB و #C در یک برنامه

    با دورود
    این لینک رو یه نگاه بندازین شاید بدرد بخوره هر چند هنوز بیرون نیامده اما بد نیست بدونید:
    http://www.eweek.com/c/a/Application...anguage-Stable

    موفق باشید
    سیاوش

  11. #11
    کاربر دائمی آواتار baran_mehr
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    شهر آفتاب گرمسار
    پست
    1,129

    Smile نقل قول: استفاده از دو زبان VB و #C در یک برنامه

    برمودا جان.همین کاری که گفتی رو کردم اما خطا میده.
    عکس های ضمیمه عکس های ضمیمه

  12. #12
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: استفاده از دو زبان VB و #C در یک برنامه

    خوب ظاهرا شما خواستین debug‌ کنین (با F5) ولی این امکان نداره چون فایل dll‌قابل اجرا شدن نیست و باید Build‌کنید. برای این کار از منوی Debug‌گزینه Build solution را انتخاب کنید یا Shift+F6 رو بزنید. پس از این کار در همون فولدر bin‌ که فایل exe برنامه ایجاد میشد الان فایل dll‌پروژه قرار خواهد داشت.
    (بنده اگر جایی به اشتباه گفتم debug کنید معذرت میخوام اشتباه چاپی بوده)
    موفق باشید
    jooje

  13. #13

    Smile نقل قول: استفاده از دو زبان VB و #C در یک برنامه

    نقل قول نوشته شده توسط bermooda مشاهده تاپیک
    ایشون منظورشون VB .NET‌ هست دوست عزیز.
    منظور من هم VB.NET بود ، وگرنه وی بی 6 که خیلی وقته از حیطه برنامه نویسی

    کاربردی و OOP خارج شده !!!

  14. #14
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: استفاده از دو زبان VB و #C در یک برنامه

    منظور من هم VB.NET بود
    خوب پس در اینصورت باید عرض کنم که اینطور نیست و VB .NET هم مانند #C قدرتمنده! چون هر دو دارن از NET. استفاده میکنند و هر کاری که با #C میشه انجام داد با VB .NET هم میشه اونکارو انجام داد.

    وی بی 6 که خیلی وقته از حیطه برنامه نویسی

    کاربردی و OOP خارج شده !!!
    VB6 از اول هم در حیطه OOP نبود که الان خارج شده باشه. البته از حیطه برنامه نویسی کاربردی خارج نشده و هنوز هم خیلی از برنامه نویس ها دارن با VB6 کارهای بزرگ انجام میدن!

    موفق باشید
    jooje

  15. #15
    کاربر دائمی آواتار baran_mehr
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    شهر آفتاب گرمسار
    پست
    1,129

    نقل قول: استفاده از دو زبان VB و #C در یک برنامه

    دستت درد نکنه داداشی.
    bermooda جان این کار رو کردم و DLL ساخته شد (یعنی یک برنامه #C رو DLL کردم )
    حالا چطوری باید تو VB فراخونیش کنم و از اون استفاده کنم؟؟؟؟

  16. #16
    VIP آواتار Amir Oveisi
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    هر جا که حال کنم - فعلا یزد
    پست
    2,604

    نقل قول: استفاده از دو زبان VB و #C در یک برنامه

    خوب مثل بقیه dll ها.
    اول فایل dll‌ رو به Reference‌ پروژه اضافه کنید. بعد هر جا که بخواین از کلاس های موجود در اون dll استفاده کنید باید از طریق نام namespace موجود در dll به اون کلاس (ها) دسترسی پیدا کنید.
    مثلا فرض کنید dll شما حاوی کلاس Form1 است و namespace‌شما هم namespace1 نام داره و شما dll‌ رو به reference پروژه جدیدتون اضافه کردین.
    حالا برای نشون دادن اون فرم یه همچین کدی باید بنویسین :
    namespace1.Form1 myForm = new namespace1.Form1();
    myForm.Show();


    البته این کد رو در یک پروژه VB هم میشه با همون کد VB نوشت ولی در اینجا من فرض کردم که پروژه م یک پروژه #C است.

    موفق باشید
    jooje

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

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