Discussion:
Access Violation In Rave
(too old to reply)
Anders Balslev
2007-06-16 10:35:18 UTC
Permalink
Hi All

BDS2006

RaveReport 7.0.5 BEX

My regional settings are:
"," (comma) as decimal seperator
"." (dot) as thousand separator

There are apparently a severe bug in the RaveSystem, which prevent
users/developers from regions which specify decimal seperator in Windows
Control panel to be others than a dot (".") to make use of events on
components used with floating points

To duplicate the problem, do follows:

Create a new Delphi Project.
Add a table component (i.e. "MyTable"), that refers to a physical table
containing a floating type field, i.e. "MyFloatingField"
Add a TRvdatasetConnection (i.e. "rconMyTable") to the form
Connect it to "MyTable"

Create a new Rave project.
Add a Direct DataView (i.e. "dvMyTable")
Connect it to "rconMyTable"

Add a component to the rave page (a text, datatext, region or similar
regardless what)
Add an "OnBeforePrint" event to this component
Write following event code:

Self.Visible :=(dvMyTableMyFloatingField.AsFloat > 1.23) //NOTE : I use dot
as decimal separator
Compile
--> Compiler error : "1.23" is not a valid floating point value !

next attempt:
Self.Visible :=(dvMyTableMyFloatingField.AsFloat > 1,23) //NOTE : I use
comma as decimal separator
Compile
--> Access Violation in 0190DD28 in RvEngine.Bpl, Read of address 00000008

Then go to the Windows control panel. change the decimalseparator to "."
(dot) and thousand separator to "," (comma)

Do the same as above.
Self.Visible :=(dvMyTableMyFloatingField.AsFloat > 1.23) //NOTE : I use dot
as decimal separator
Compile
--> No problem

next attempt:
Self.Visible :=(dvMyTableMyFloatingField.AsFloat > 1,23) //NOTE : I use
comma as decimal separator
Compile
--> Access Violation in 0190DD28 in RvEngine.Bpl, Read of address 00000008

How can this be solved on computers using comma as decimal separator?

Anders
Fritz Franz
2007-06-17 20:41:16 UTC
Permalink
Post by Anders Balslev
Self.Visible :=(dvMyTableMyFloatingField.AsFloat > 1.23) //NOTE : I use
dot as decimal separator
Compile
--> Compiler error : "1.23" is not a valid floating point value !
How can this be solved on computers using comma as decimal separator?
Hi Anders!

I had the same problem. I worked around it writing instead of 1,23 123/100.
This worked fine for me.

Regards,

Fritz

Loading...