作者followaymis (abcde)
看板C_Sharp
标题[问题] 求救!!exe与dll传递变数的问题..
时间Tue Oct 7 22:01:19 2008
各位好,小弟最近在研究有关动态载入dll的问题,
首先,我有四个专案分别是DllImport,MessageBox1,MessageBox2,MessageBox3
DllImport是主程式(exe),其余三个分别是form,
其功能是按下按钮会跳出一个MessageBox视窗
这三个MessageBox compile成dll後,为了使用动态载入,我就没有加入reference
是用以下程式码动态载入:
private void button1_Click(object sender, EventArgs e)
{
Assembly ass = Assembly.LoadFrom(@"D:\project\DynamicDll\MessageBox1\bin\Debug\MessageBox1.dll"); //利用dll的路径加载
Type type = ass.GetType("MessageBox1.test1");
Object obj = Activator.CreateInstance(type, null);
Form f = (Form)obj;
f.Show();
}
而我这个主程式的内容是按下button1,会动态的使用MessageBox1.dll,
这方面没问题,在f.show()时会顺利产生MessageBox1的画面,此画面
为一个Form,上面有一个按钮,按下去会出现一个讯息视窗
问题来了,如果当我一直按DllImport主程式的按钮,就会一直出现MessageBox1的画面
我想等MessageBox1的form被关闭了,按下DllImport的按钮才会有效,就是有点
singleton的概念,我的想法是用个变数去纪录MessageBox1的form何时被关闭
然後通知DllImport主程式,但我不知道exe与dll之间怎麽传递变数
还是这种问题有别种做法,可以请有经验的高手给我点意见吗??
谢谢各位了!!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.70.143.133
1F:→ EricTsai:一样Reflection啊 10/07 22:41
2F:→ followaymis:楼上,可以说详细一点吗? 10/07 23:20