我们有一个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给了我很多悲伤!