Einzelnen Beitrag anzeigen

TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#1

Rave Fehler in OnBeforePrint mit Projekt Variable

  Alt 31. Mär 2010, 09:29
Hi DPler,

ich habe in einem Projekt eine Report Datei an diese Übergeben ich Parameter um ein paar Regionen mit zu teilen an welcher
Stelle sie positioniert werden sollen, entstanden ist das Projekt unter Delphi 2007 mit Rave Report 7.5 BE. Jetzt habe ich
das Projekt auf Delphi 2009 mit Rave Report 7.6.2 BE umgestellt jedoch bekomme ich eine Zugriffsverletztung und als Quelle
konnte ich die OnBeforePrint Events der Regionen im Rave Report ausmachen.

Ursprüngliches Event, was noch unter D2007 / Rave 7.5 einwandfrei lief, jetzt aber nicht mehr.
Code:
function rgnTreatment_OnBeforePrint(Self: TRaveRegion);
begin
  Self.Visible := (RaveProject.GetParam('grb_Treatment') = '-1');

  if (RaveProject.GetParam('grb_Treatment_Left') <> '') then
    Self.Left := StrToFloat(RaveProject.GetParam('grb_Treatment_Left')) / (254 / 10);
  end;

  if (RaveProject.GetParam('grb_Treatment_Top') <> '') then
    Self.Top := StrToFloat(RaveProject.GetParam('grb_Treatment_Top')) / (254 / 10);
  end;
end OnBeforePrint;
Zu Testzwecken habe ich mal die Werte fest angegeben und jetzt klappt es.
Code:
function rgnTreatment_OnBeforePrint(Self: TRaveRegion);
begin
  Self.Visible := (RaveProject.GetParam('grb_Treatment') = '-1');

  if (RaveProject.GetParam('grb_Treatment_Left') <> '') then
    Self.Left := (20 / (254 / 10));
  end;

  if (RaveProject.GetParam('grb_Treatment_Top') <> '') then
    Self.Top := (200 / (254 / 10));
  end;
end OnBeforePrint;
Wieso kann man unter Delphi 2009 mit Rave 7.6.2 BE das nicht mehr machen, komisch ist auch lasse ich mir testweise ausgeben was
in RaveProject.GetParam('grb_Treatment') steht so erhalte ich das was ich in dem Delphi Projekt übergebe, also korrekt.
Nur sobald ich versuche eine Umwandlung in eine Gleitkommazahl durchzuführen und versuch damit zu rechnen bekomme ich einen Fehler.

Ich hoffe es gibt eine Möglichkeit das das Ganze doch wieder funktioniert, ich bin echt am verzweifeln.

mfg


TUX
  Mit Zitat antworten Zitat