反射

2010-05-26 38 views
0

反射

Dim a As [Assembly] = [Assembly].LoadFile("C:\test.exe") 


Dim testTP As Type 
testTP = a.GetType("SplashScreen", True, True) 

obj1 = Activator.CreateInstance(testTP) 

obj1.show() 

我PROG做出反射的test.exe>闪屏加载,也OBJ1充满

闪屏配置时 - > MainForm中加载>的OBJ1 isnothing!

时尝试访问OBJ1 VS说:

ACCESSIBILITYOBJECT = { “不能 访问一个释放的对象对象名称: '闪屏'”}

我想总是OBJ1填充从活跃的形式!怎么样????

+0

我不明白短语“我希望永远obj1从活动表格填充”的意思。请解释你想要什么。 – 2010-05-26 20:11:41

+0

当SplashScreen处理 - > MainForm加载=====如何从MainForm'填充'obj1或以某种方式操纵MainForm的实例(?) – takis 2010-05-26 20:16:16

+0

您能提供更多的细节吗?代码在你的应用程序中的什么位置? * obj1 *在哪里访问,导致问题? * obj1 *试图用* SplashScreen *做些什么? – GalacticCowboy 2010-05-26 20:52:52

回答

0

您的代码写入的方式,你想要做的是不可能的。你实例化一个SplashScreen的实例;当计时器滴答时,它会启动主窗体,然后自行处理。 (“Me.Close()”)此对象的实例现在无效。此外,你不能将你的对象更新为主窗体的实例,因为它们是不同的类型。

如果您想强制启动屏幕始终在窗体打开时显示,您应该在主窗体Load事件中处理此事件。然后,让你的句柄到主窗体(你想要的)并让它处理启动画面。