提问人:MathewJoy 提问时间:2/3/2023 更新时间:2/9/2023 访问量:32
为什么 TFDMemTable->SaveToStream() 会抛出 AV
Why does TFDMemTable->SaveToStream() throw an AV
问:
我正在尝试转换为JSON字符串。我正在尝试使用函数,但它抛出空访问冲突。TFDMemTable
SaveToStream
项目 XXX 引发了异常类 $C 0000005,并显示消息“访问 违反0x545c8d4f:读取地址 0x00000008'。
以下为可重现代码:
TFDMemTable *fd = new TFDMemTable(NULL);
TFieldDef *Field = fd->FieldDefs->AddFieldDef();
Field->Name = "Name";
Field->DataType = Db::ftString;
Field->Size = 100;
fd->Open();
fd->Insert();
fd->FieldByName("Name")->AsString = "Johnny";
fd->Post();
TStringStream *Stream = new TStringStream();
fd->SaveToStream(Stream, sfJSON);
我尝试删除一个,也尝试使用字符串创建。TFDStanStorageJSONLink
TStringStream
集成开发环境:Rad Studio 11.1。在从 10.1 Berlin 升级之前,我们有一个类似的工作代码段。谢谢。
答:
0赞
MathewJoy
2/9/2023
#1
上面的代码很好,问题出在升级的项目文件上。如果我尝试一个新项目,它就可以工作了。最终创建了一个新的项目文件。我的升级哇还在继续。
评论