我正在使用Delphi 2010和Rave Reports(内置于版本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调用,此消息证明值已更改为新语言,但最后我总是看到默认值。
有没有人知道解决这个问题的方法?
Denizhan
答案 0 :(得分:0)
我错过了RvProject组件“Rave”的.execute ...快速检查它看起来不错但你只更改了RvProject的实例而不是文件本身。