FireMonkey TClientDataSet设置过滤器导致"错误创建cfString"在OSX中可以在Windows中正常工作

时间:2015-02-16 21:37:29

标签: macos c++builder firemonkey tclientdataset

在Mac OSX上运行时,我在TClientDataSet上设置过滤器时遇到问题。它在Windows上运行良好。

我收到错误:Error Creating cfString

这对我来说很容易复制:

  1. 创建一个新项目。

  2. 转到项目 - >部署菜单项

  3. 点击添加精选文件按钮

  4. 选择 Midas Library 选项,然后点击确定

  5. 添加TClientDataSet并将其命名为cdsData

  6. 添加两个字段:

    RecordGUID string (36) 
    Name string (40)
    
  7. 创建数据集(右键单击并选择创建数据集

  8. 双击表单以创建OnCreate事件处理程序

  9. 将以下代码添加到事件

    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
        cdsData->Open();
        for (int i = 0; i < 40; i++)
        {
            cdsData->Append();
            cdsData->FieldByName("RecordGUID")->AsString = "UUID-" + IntToStr(i);
            cdsData->FieldByName("Name")->AsString = "Name " + IntToStr(i);
            cdsData->Post();
        }
    
        cdsData->Filter = "RecordGUID = 'UUID-4'";
        cdsData->Filtered = true;
    }
    
  10. OSX32 目标平台添加到项目中

  11. 现在编译并运行应用程序。

  12. 您应该收到错误 - Error Creating CFString

    在OSX中添加字符串作为过滤器时有什么特别的事情吗?

1 个答案:

答案 0 :(得分:0)

这是一个已经向Embarcadero报告的已知问题:

[MacOS] OS X 10.10 - Error Creating CFString

哦,等等,这张票有一个看起来与上面的代码相似的例子:)