OK,大家看看代码:var Temp:String
For Index:=0 to MainFrm.ActionListMain.ActionCount -1 do
begin Temp:=TAction(MainFrm.ActionListMain.Actions[Index]).Caption;
//TAction(MainFrm.ActionListMain.Actions[Index]).Caption 还是显示正常的
//Temp显示确是乱码了,为'????'
end;TAction(MainFrm.ActionListMain.Actions[Index]).Caption是中文,不是英文,如果是英文当然没问题
For Index:=0 to MainFrm.ActionListMain.ActionCount -1 do
begin Temp:=TAction(MainFrm.ActionListMain.Actions[Index]).Caption;
//TAction(MainFrm.ActionListMain.Actions[Index]).Caption 还是显示正常的
//Temp显示确是乱码了,为'????'
end;TAction(MainFrm.ActionListMain.Actions[Index]).Caption是中文,不是英文,如果是英文当然没问题
解决方案 »
- 如何将一个exe文件改为dll???
- 请问各位专家,有没有关于使用Excel的控件???
- 【通缉】100分求 DevExpress PrintingSystem2.3以上版本的汉化
- 如何解决EPrivilege Exception error?
- 进来了就是朋友了!!!!!!!!!来啊!!!!!!!!!
- DLL问题,源码贴出来,大家看看
- 问一个可能是很简单的问题
- ================请问如何将回车转换为Tab???===================
- 太不象话了,不把程序员当人
- 如何知道是否连上INTERNET网
- Delphi 2004-09专家榜
- indy端口问题。分不够再加,没的说。
i:integer;
vTemp:String;
begin
inherited;
for i:=0 to ActionList1.ActionCount -1 do
begin
vTemp:=TAction(ActionList1.Actions[i]).Caption;
ShowMessage(format('vtemp=%s, caption=%s',[vTemp,TAction(ActionList1.Actions[i]).Caption]));我试过了,没有问题。
end;
Temp:String ;
i: integer;
begin
for i:=0 to ActionList1.ActionCount-1 do
begin
Temp:=TAction(ActionList1.Actions[i]).Caption;
ShowMessage(TAction(ActionList1.Actions[i]).Caption);
ShowMessage(Temp);
end;
end;
ShowMessage(format('Temp=%s',[Temp]));
Temp:=TAction(ActionList1.Actions[0]).Caption;
ShowMessage(format('Temp=%s, caption=%s',[Temp,TAction(ActionList1.Actions[0]).Caption]));//测试过好多遍了,其实FF就是ActionList1.Actions[0],直接用FF.Caption赋给Temp没什么问题
但用Temp:=TAction(ActionList1.Actions[0]).Caption却成了乱码了,我怀疑是强制转换为TAction这里面有问题,不知有没有解决的办法