为什么bpl在升级后加载资源字符串时出错



我们有一个bpl,它有一些资源(.rc(文件,其中有字符串。它通过STRINGTABLE定义,并通过LoadStr()调用加载。该项目在柏林10.1版。我们升级到最新的11.1 Alexandria,现在呼叫返回NULL。所以为了测试,我在主上添加了一行

extern "C" int _libmain(unsigned long reason)
{
String str = LoadStr(231); **// Works**
return 1;
}

但是下面现有的代码不起作用。

**.h**
PACKAGE String __fastcall GetValueSetDesc(int ACount);
**.cpp**
String __fastcall GetValueSetDesc(int ACount)
{
String ValueDesc = LoadStr(ACount); **// Does not work, retuns NULL**
return ValueDesc;
}

我尝试从头开始创建这个项目(并向其中添加文件(。任何人都经历过这个问题,或者知道该尝试什么?

问题出在DevExpress组件上。该呼叫来自DevExpress更改事件。来自非DevExpress组件的调用运行良好。我解决这个问题的方法是从头开始重新创建cbproj,并添加文件、设置等(在exe中,bpl似乎很好(。伙计,这次我们升级的时候DevExpress给了我很多悲伤!

最新更新