J'utilise Delphi 2010 et Rave Reports (livré avec, version 7.7.0).Delphi 2010 - Problème de modification du texte d'exécution du rapport Rave
J'ai utilisé ce couple pendant 5 mois sans aucun problème. Dans mon entreprise, j'utilise deux langues, d'abord j'utilise notre langue principale (turque) et quand les gens veulent utiliser une autre langue, je change les valeurs de texte et de mémo spécifiques en fonction de leur valeur de balise.
Cette approche a bien fonctionné jusqu'à la semaine dernière. La semaine dernière, la modification des valeurs au moment de l'exécution a cessé de fonctionner. Je ne sais pas pourquoi, tout semble correct avec le code, j'ai aussi essayé de vérifier les valeurs changées, les valeurs semblaient changer mais quand j'exécute des rapports toutes les valeurs ont changé leurs valeurs par défaut.
Voici mon code pour changer:
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;
Vous pouvez voir mes appels showMessage, ces messages montrent que la valeur changé à la nouvelle langue, mais à la fin je vois toujours les valeurs par défaut.
Y at-il quelqu'un connaît une solution à ce problème?
Denizhan
Oui, vous avez raison. J'ai changé les textes mais après le changement ferme cette instance. J'ai enlevé le "dm.Rave.Close" et cela a fonctionné sur l'instance d'exécution. Merci de votre rappel de la chose d'instance. – dseckin