2012-07-01 63 views
0

大家好,我有C++ tStringGridC++ Builder的TstringGrid從特定的細胞得到的字符串

我想從特定的細胞得到的字符串座標

我都試過,但沒有運氣:

UnicodeString cell_obj = StringGrid1->Objects[3][2]->ToString(); 

錯誤:

Access violation at address 00407617 in module 'NGG_Client.exe'. Read of address 00000000. 

請幫忙。

+0

你知道電網有多大嗎?即:是3,2越界? – Zac

+0

是的,我知道它的固定.... – user525717

+0

@Zac:它正在讀取的地址是一個NULL指針。可能引用的單元格未初始化。 – user7116

回答

3

我沒有工作dev的環境了,可以建立這一點,但嘗試:

assert(StringGrid1->ColCount > 3 && StringGrid1->RowCount > 2); 
UnicodeString cell_str = StringGrid1->Cells[3][2]; 

這可能是一個AnsiString而不是UnicodeString

+0

也StringGrid1可以爲null。 – user7116

+0

謝謝:)其如此簡單 – user525717

+0

它是一個好主意,把斷言在那裏 - 只是爲了檢查你的代碼假設。還可以在assert中包含來自@sixlettervariables的'StringGrid1!= nullptr'。 – Zac