Delphi BPL中使用资源字符串的问题
我最近编译一个BPL,其中某一文件存在以下引用:Captions:array[TMsgDlgType]ofPointer=(@SMsgDlgWarning,@SMsgDl...
我最近编译一个BPL,其中某一文件存在以下引用:Captions: array[TMsgDlgType] of Pointer = (@SMsgDlgWarning, @SMsgDlgError, @SMsgDlgInformation, @SMsgDlgConfirm, nil);SMsgDlgWarning等定义在consts单元中,编译时出现错误:[DCC Error] E2201 Need imported data reference ($G) to access 'SMsgDlgWarning' from unit 'StyleForm'如何解决注:我当然不希望将consts中的字符串直接嵌入到我的文件中,因为那违反程序易于国际化的本意,这里的关键是LoadResString如何在BPL中使用的问题
展开
展开全部
var
i :Integer;
sl :TStringList;
StrArr :array of string;
TestStr :string;
begin
TestStr := '|42060|32940|60|';
sl := TStringList.Create;
try
if TestStr[1] = '|' then //当第一个字符为|时去掉
TestStr := Copy(TestStr,2,Length(TestStr) - 1);
if TestStr[Length(TestStr)] = '|' then //当最后一个字符为|时去掉
TestStr := Copy(TestStr,1,Length(TestStr) - 1);
sl.Delimiter := '|'; //以|为分隔符来分割字符串
sl.DelimitedText := TestStr;
SetLength(StrArr,sl.Count);
for i := 0 to sl.Count - 1 do
StrArr[i] := sl.Strings[i];
for i := 0 to High(StrArr) do
ShowMessage(StrArr[i]);
finally
FreeAndNil(sl);
end;
end;
i :Integer;
sl :TStringList;
StrArr :array of string;
TestStr :string;
begin
TestStr := '|42060|32940|60|';
sl := TStringList.Create;
try
if TestStr[1] = '|' then //当第一个字符为|时去掉
TestStr := Copy(TestStr,2,Length(TestStr) - 1);
if TestStr[Length(TestStr)] = '|' then //当最后一个字符为|时去掉
TestStr := Copy(TestStr,1,Length(TestStr) - 1);
sl.Delimiter := '|'; //以|为分隔符来分割字符串
sl.DelimitedText := TestStr;
SetLength(StrArr,sl.Count);
for i := 0 to sl.Count - 1 do
StrArr[i] := sl.Strings[i];
for i := 0 to High(StrArr) do
ShowMessage(StrArr[i]);
finally
FreeAndNil(sl);
end;
end;
展开全部
var i :Integer; sl :TStringList; StrArr :array of string; TestStr :string; begin TestStr := '|42060|32940|60|'; sl := TStringList。Create; try if TestStr[1] = '|' then 。。当第一个字符为|时去掉 TestStr := Copy(TestStr,2,Length(TestStr) - 1); if TestStr[Length(TestStr)] = '|' then 。。当最后一个字符为|时去掉 TestStr := Copy(TestStr,1,Length(TestStr) - 1); sl。Delimiter := '|'; 。。以|为分隔符来联系字符串 sl。DelimitedText := TestStr; SetLength(StrArr,sl。Count); for i := 0 to sl。Count - 1 do StrArr[i] := sl。Strings[i]; for i := 0 to High(StrArr) do ShowMessage(StrArr[i]); finally FreeAndNil(sl); end; end;
2011-10-24 7:49:38
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询