C++Builder 从资源加载字符串的正确方法

C++Builder correct way to Load string from ressources

我是 c++ 和 c++builder(11 v-28) 的新手,我已经将资源放入文本文件(通过 projet->Ressources and Images),但我找不到任何方法要从资源中检索我的文本,LoadStr(..) 函数会回收一个我找不到或如何获取它的数字标识符。

使用 C++ Builder,您可以使用 RTL 中的函数来帮助您。

当您将大型文本文件放入资源中时,您会为其指定类型和 ID。通常对于嵌入式文件,类型为 RT_RCDATA.

(我根本没有检查过这段代码,所以它可能不会编译,但应该给你一个指针)

  TStream * function TMyForm::GetResourceStream(UnicodeString szResName);
  {
  TStream:     rc;
  id:          int;

    rc=nil;
    id=StrToIntDef(szResName, 0);
    if(id > 0)
    {
      rc = TResourceStream::CreateFromID(hInstance, id, RT_RCDATA);
    }
    return(rc);
  }

Th hInstance 是传递给 WinMain 的程序实例。

获得 TStream 后,您可以从中阅读。例如,您可以填充 TStringList。