反射

2010-05-26 72 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事件中處理此事件。然後,讓你的句柄到主窗體(你想要的)並讓它處理啓動畫面。