C++;生成器TstringGrid从特定单元格获取字符串 大家好,我有C++ TStReGrase

C++;生成器TstringGrid从特定单元格获取字符串 大家好,我有C++ TStReGrase,c++,c++builder,vcl,tstringgrid,C++,C++builder,Vcl,Tstringgrid,我想从带有坐标的特定单元格中获取字符串 我试过这个,但运气不好: UnicodeString cell_obj = StringGrid1->Objects[3][2]->ToString(); 错误: Access violation at address 00407617 in module 'NGG_Client.exe'. Read of address 00000000. 请提供帮助。我没有可以构建此功能的可用开发环境,但请尝试: assert( StringGrid1

我想从带有坐标的特定单元格中获取字符串

我试过这个,但运气不好:

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

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

请提供帮助。

我没有可以构建此功能的可用开发环境,但请尝试:

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

它可能是一个
AnsiString
而不是
UnicodeString

我没有一个可以构建它的工作开发环境,但请尝试:

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

它可能是一个
AnsiString
而不是
UnicodeString

你知道网格有多大吗?ie:3,2是否超出范围?是的,我知道它是固定的…@Zac:它读取的地址是空指针。引用的单元格可能未初始化。@user525717:您能告诉我们在运行时ColCount和RowCount是什么吗?也许对象[3,2]为空,或者向我们展示更多关于StringGrid1的信息(也可能为空)。你是说这个对象吗?>>Form1->StringGrid1->Cells[1][i]=name.c_str();Form1->StringGrid1->Cells[2][i]=address.c_str();你知道电网有多大吗?ie:3,2是否超出范围?是的,我知道它是固定的…@Zac:它读取的地址是空指针。引用的单元格可能未初始化。@user525717:您能告诉我们在运行时ColCount和RowCount是什么吗?也许对象[3,2]为空,或者向我们展示更多关于StringGrid1的信息(也可能为空)。你是说这个对象吗?>>Form1->StringGrid1->Cells[1][i]=name.c_str();Form1->StringGrid1->Cells[2][i]=address.c_str();StringGrid1也可以为null。将断言也放在其中是一个好主意——只是为了检查您的代码。还可以包括
StringGrid1!=nullptr
来自断言中的@sixlettvariables。StringGrid1也可以为null。将断言也放在那里是个好主意-只是为了检查代码假设。还可以包括
StringGrid1!=来自断言中@sixlettvariables的nullptr