Я использую 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, эти сообщения доказывают, что значение изменилось на новый язык, но в конце я всегда вижу значения по умолчанию.
Есть ли кто-нибудь знает какие-либоРешение этой проблемы?
Денижан