2013-10-24 23 views
0

首先,我在Win32控制檯應用程序中創建了一個Corba C++服務器,在此之後guide及其工作。從那個代碼中,我在MFC中創建了一個Corba服務器。編輯控件表現的方式不應該是

從C++的Win32服務器I有這樣的代碼:

cout << argv[0] << ": server 'TestServer' bound" << endl; 

而這裏的輸出:

C:\Users\innistrad\documents\visual studio 2010\Projects\TestServer\ 
Debug\TestServer.exe: server 'TestServer' bound 

所述的argv的含量[0]是這樣的:

C:\Users\innistrad\documents\visual studio 2010\Projects\TestServer\ 
Debug\TestServer.exe 

所以,在MFC中,我是這樣做的:

msg = ": server 'TestServer' bound"; 
mDisp.SetWindowText(__argv[0] + msg); 

問題是,它不顯示括號中的值。

但是,當我做到這一點

AfxMessageBox(__argv[0] + msg); 

我收到輸出同前述。

我試圖將編輯控件更改爲新的編輯控件和列表框,但無濟於事。什麼似乎是問題?任何人都可以幫忙嗎?

謝謝。

+0

我們只能猜測。什麼是'argv'和'__argv'以及它們如何相關? 'msg'和'mDisp'的類型是什麼。爲什麼將字符串文字分配給'msg'時爲什麼使用括號?您確實需要提供[SSCCE](http://sscce.org/)。當你說你正在獲得價值時,你是如何驗證這一點的? – IInspectable

+0

對不起,生病編輯的問題,並張貼輸出也..謝謝@IInspectable – Innistrad

回答

0

什麼是變量的類型msg請嘗試以下

CString msgStr = ": server 'TestServer' bound"; 
mDisp.SetWindowText(CString(__argv[0]) + msgStr); 
+0

謝謝@N3Xg3N的幫助。 msg是CString,我在.h文件中聲明瞭它,並且我也試着做你已經顯示的內容,但是我仍然沒有得到所需的輸出。再次謝謝你。 – Innistrad

+0

試試這個'CString msgStr(_T(「:server'TestServer'bound」));' – N3Xg3N

+1

@ N3Xg3N,謝謝。 我已經修好了。 UpdateWindow()做了訣竅。 – Innistrad

相關問題