2014-12-05 82 views
1

我有一個名爲MCWrapper的類,我想從中調用靜態成員函數作爲從套接字接收數據的線程。我已經能夠在我的控制檯應用程序中創建託管類的實例並傳遞它的數據,但現在我希望能夠清理並儘可能地推送到我正在構建的dll。帶有靜態成員函數的C++/CLI線程

所以MCWrapper有一個staticMessage類型的成員函數receiveMessageThread。我怎樣才能將它傳遞給託管類的實例,並使用System :: Threading方法將其作爲線程啓動?根據我的理解,這是我需要做的,以使其能夠訪問MCWrapper的其他非靜態成員函數(實質上是一個大型存儲類)。我一直在玩一天,並一直卡住。

在控制檯應用程序創建託管類,像這樣:

MCWrapper ^mc = gcnew MCWrapper(); 

謝謝!

回答

1

像往常一樣,當我問一個問題,我立即找到答案。也許這會幫助別人。

創建引用到你想要的對象:

MCWrapper^ mc = gcnew MCWrapper; 

開始,因爲它開始調用成員函數的線程。

Thread^ rThread = gcnew Thread(gcnew ThreadStart(mc, MCWrapper::receiveMessageThread)); 

然後啓動線程。

rThread->Start(); 

很容易,一旦你知道。請讓我知道如果有人有更好的方式做到這一點。

乾杯,

+0

_像往常一樣,當我問一個問題,我立即找到答案._我知道這種感覺:-) – t3chb0t 2014-12-11 10:45:53