View Full Version : سوال: ارتباط دو پروژه با زبان های مختلف!
reza_devel0per
پنج شنبه 30 خرداد 1392, 00:34 صبح
سلام، من توی یک solution یک پروژه ی VB و یک پروژه C# دارم ، آیا راهی هست که از درون فرم پروژه سی شارپ ، به آبجکت های فرمی از پروژه وی بی دسترسی پیدا کنم؟
saied_hacker
پنج شنبه 30 خرداد 1392, 09:51 صبح
چون 2 تا پروژه جدا از هم هستن نمی تونی مستقیم به هم ارتباطشون بدی ...
1- استفاده از یه فایل واسط که اطلاعات رو توسط یکی توش بنویسی و توی دیگری بخونیو به این روش اطلاعات رو جابه جا کنی ....
2- استفاده از سرویس ، یک سرویس بنویسی و به کمک اون 2 تا برنامه رو به هم ارتباط بدی ...
نکته : اگر پروژه دوم توسط پروژه پروژه اول اجرا میکند یا برعکس میتونید متغیر هایی که لازم هست اشتراکی باشه public تعریف کنید و بهشون دسترسی داشته باشید.
( ابتدا قبل از انجام عمل زیر باید از قسمت add reference ، اون یکی پروژه رو به پروژتون رو اضافه کنید )
مثال:
درپروژه vb:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim vr As New Cproject.Form1
vr.Show()
vr.settext("call function!")
End Sub
در پروژه C#:
public void settext(string text) // function is in form1
{
textBox1.Text = text;
}
برعکس عمل فوق هم به راحتی قابل انجام هست...
intel_amd
پنج شنبه 30 خرداد 1392, 10:04 صبح
پروژرو در قسمت add reference گفتین اضافه کنه منظورتون فایل exe هست؟
یعنی بعد از اضافه کردن پروژه B به پروژه A میشه به متغییر های public پروژه B دسترسی پیدا کرد؟ به متدهاشم میشه؟ به چیز دیگه ایش هم میشه؟
saied_hacker
پنج شنبه 30 خرداد 1392, 10:10 صبح
راه حل سومی که من گفتم ، وقتی شما روی پروژه add reference رو میزنی در قسمت Solution -> Project اسم پزوژه های دیگه میاد از اننجا انتخاب میکنید ....
نکته : این راحل فقط زمانی کار می کنه که پروژه دوم توسط پروژه اول ران بشه ( از داخل سورس مثل مثال بالا ) ... ، و در صورتی که شما 2 تا فایل exe رو دستی (کلیک رو فایلش) اجرا کنید قابل استفاده نیست و باید از راه 1 و 2 استفاده کنید.
reza_devel0per
جمعه 31 خرداد 1392, 12:25 عصر
میتونید متغیر هایی که لازم هست اشتراکی باشه public تعریف کنید و بهشون دسترسی داشته باشید.
( ابتدا قبل از انجام عمل زیر باید از قسمت add reference ، اون یکی پروژه رو به پروژتون رو اضافه کنید )
مرسی، تونستم فرم رو نشون بدم اما به متغیر های Public نمیتونم دسترسی داشته باشم!
saied_hacker
جمعه 31 خرداد 1392, 12:37 عصر
شما وقتی از فرم نمونه سازی میکنید میتونید خیلی راحت به متغیرهای public هم دسترسی داشته باشید.
mycshapproject.Form1 f = new mycshapproject.Form1;
f.myfunction()
f.show()
//function in form1
public void myfunction()
{
//do
}
حالا اگه میخای از فرم دومی که نشون ( از پروژه دیگه ) دادی به برنامه اصلی دسترسی داشته باشی اون یه مسئله دیگس...
matrix-program
جمعه 31 خرداد 1392, 14:51 عصر
کار راحت تر این است که در ویبی در رجیستری با savesetting دستور خودت رو سیو کنی و در سی شارپ در رجیستری منتظر دستور باشه
davidrobert
جمعه 31 خرداد 1392, 16:13 عصر
برادر شما میتونید از این پروژه برای تغییر زبان استفاده کنی و اون رو ذخیره کنی موقعی که وارد میشی فارسی رو نشان بده یا انگلیسی رو.http://uplod.ir/b44n032ta9gm/Finglishtopersian.rar.htm
موفق باشید.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.