Nous travaillons actuellement avec Delphi 2006, mais nous sommes maintenant très prêt à passer à Delphi 2010.des problèmes de chaîne dans Rave Reports 8
Le problème réside dans nos rapports Rave, mais ...
Nous obtenons juste de nombreuses erreurs de chaîne lors de l'exécution de nos rapports avec Rave 8. Et ils n'ont tout simplement aucun sens. (Les rapports compilent sans erreur, et nous pouvons même les exécuter sans erreur dans Rave 6.)
Mise à jour: Les erreurs se produisent à l'intérieur des scripts d'événements dans les rapports lui-même. Les erreurs sont liées aux chaînes et à la concaténation de chaînes.
Par exemple:
//This event causes access violation (in rtl140.bpl) at run time
{ Event for Page1.OnBeforeReport }
function Page1_OnBeforeReport(Self: TRavePage);
var
s: String;
begin
s := 'My text in param';
s := s + ' and som more text';
s := copy(s,1,length(s)) + ' and then some more'; //<-- This line causes AV
RaveProject.SetParam('MyTestParam', s);
end OnBeforeReport;
//This event works OK
{ Event for Page1.OnBeforeReport }
function Page1_OnBeforeReport(Self: TRavePage);
var
s: String;
begin
s := 'My text in param';
s := s + ' and som more text';
s := copy(s,1,length(s)); //<-- This line is OK
RaveProject.SetParam('MyTestParam', s);
end OnBeforeReport;
//This event works OK too
{ Event for Page1.OnBeforeReport }
function Page1_OnBeforeReport(Self: TRavePage);
var
s: String;
begin
s := 'My text in param';
s := s + ' and som more text';
s := copy(s,1,length(s)) + s; //<-- This line is OK
RaveProject.SetParam('MyTestParam', s);
end OnBeforeReport;
Nous voulons vraiment tenir à Rave, parce que nous avons beaucoup de rapports (150+) avec beaucoup de fonctionnalités (états SQL, événements, etc.). En outre, nous avons des clients qui ont conçu leurs propres rapports personnalisés.
Est-ce que quelqu'un connaît la raison de ces erreurs?
Y at-il une solution ou une solution à ces problèmes?
Si quelqu'un a le code source (version payante de RAVE) nous avons finalement passé un certain temps à corriger plusieurs bugs. Je pourrais partager un Diff. –