2010-09-06 25 views
0

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

Répondre

0

me manque le .Execute du RvProject composant « Rave » ... sur un chèque rapide, il semble bon, mais vous ne modifier que l'instance du RvProject et non le fichier lui-même.

+0

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