我正在使用 Delphi 2010 和 Rave Reports(内置,v. 7.7.0)。
我已经使用这对夫妇 5 个月没有任何问题。在我的公司,我使用两种语言,首先我使用我们的主要语言(土耳其语),当人们想要使用另一种语言时,我会根据他们的标签值更改特定的文本和备忘录值。
这种方法直到上周都运行良好。上周在运行时更改值停止工作。我不知道为什么,代码似乎一切正常,我还尝试检查更改的值,这些值似乎发生了变化,但是当我执行报告时,所有值都更改了它们的默认值。
这是我的更改代码:
procedure ProcessRaveReport( APageName : string ); // 'rp411.rp411Page'
var
myPage : TRavePage;
myText : TRaveText;
i, iTag : Integer;
begin
dm.Rave.Open;
with dm.Rave.ProjMan do
begin
myPage := FindRaveComponent(APageName,nil) as TRavePage;
if myPage = nil then Exit;
for i:= 0 to myPage.ComponentCount-1 do
begin
if myPage.Components[i] is TComponent then
iTag := (myPage.Components[i] as TComponent).Tag;
if (iTag > 0) then
begin
if myPage.Components[i] is TRaveText then
begin
//ShowMessage((myPage.Components[i] as TRaveText).Text);
//ShowMessage(getLangIDS((myPage.Components[i] as TRaveText).Tag));
(myPage.Components[i] as TRaveText).Text := getLangIDS((myPage.Components[i] as TRaveText).Tag);
//ShowMessage('Sonuc : '+(myPage.Components[i] as TRaveText).Text);
end
else if myPage.Components[i] is TRaveMemo then
(myPage.Components[i] as TRaveMemo).Text := getLangIDS((myPage.Components[i] as TRaveMemo).Tag);
end;
//iTag := 0;
end;
end;
dm.Rave.Close;
end;
您可以看到我的 showmessage 调用,这些消息证明值已更改为新语言,但最后我总是看到默认值。
有没有人知道这个问题的任何解决方案?
德尼占