Sonntag, 14. Dezember 2008

the programmers...

I noticed on delphifeeds this sunday morning the blog about "Do all great programmers start young".
Some month ago I found another blog: Can A Programmer Be Ten Times More Productive?
(it's from NetApp, a storage company with high-perfomance software inside to make all the possibility of iSCSI, SAN, NAS and so on availble).

I think with learning you'll get more and more skill, but to have more than other you need to look around your dev-world and combine all the complexe informations. Only with developing (in ObjectPascal) you're sometimes an expert in Pascal, but this isn't enough in our time. You need more than this. A good developer must understand the complete architecture and how software-products need to be developed for current and future needs; and this is very important for the complete architecture. And with the experience of many years you learn from the feedback of your customer the "usability" of your applications and beside this is the high performance software design only possible when you know more then (pascal)-programming. A reference to many other areas expand the skill day by day.
A good programmer brings a rare combination of breadth, depth and vision to his daily work and an architect or programmer must make many decision every day (also the explanations behind the decisions should be good / excellent) quickly and effectively and directs the product very well.
I always wonder about many programmers how they manages the spare time to be proficient in the current and future technologies which are happening in the industry all the time...

Montag, 3. November 2008

Delphi 2009 and Rave 7.6 ...

D2009 is a whole new game - Unicode and a NEW binary format and there is no simple update for Rave 7.0x BEX available. With Rave 8 BEX is a version for D2009 beside the included  BE-version available (if it's released from Nevrona Designs). I know, a lot of the readers wait for Rave 8 ... at the moment is Rave 7.6 the show stopper ....

Delphi 2009 is CodeGear's first release of a Unicode enabled version of Delphi for Win32. That is a very major change for Delphi and it has been (still is) a challenge. The first release of Rave BE 7.6 (bundled edition) included with D2009 has a few problems that were not discovered during the beta process. One problem is that there are some files ( .RVC and RptChart) that inadvertently were missed and not included in the installation program, meaning you're not able to use rave scripting in this version. 

Another problem is that "some" users are having a problem selecting a printer. I recommend to insert a "simple printer driver" like a HP Laserjet 4 and the IDE should start now.

Nevrona has already submitted fixes and CodeGear QC is reviewing the fixes and I hope they will publish very soon an update when the QC process is completed.

Dienstag, 30. September 2008

Back from California ....

Two weeks ago I spent some days in Scotts Valley, visited the HQ of CodeGear there again and last week I attend the oracle conference "Oracle OpenWorld 2008" in San Francisco.

Big, Grand, Huge, Oracle.
With more then 43.000 attendes was this a really big conference in downtown of SF ....

I spent a lot of time on sessions and on talks in the exhibition halls (yeah, I visited Embarcadero in Moscone south and talked to DavidI and AndersO).
On some sessions the speakers are afraid and worked only with powerpoint and prepared movies, no live coding :-(

Very interesting is IMO the idea and architecture of Oracle Beehive, meaning that Oracle plan a solution like Microsoft Sharepoint. The future will show the how it compared against Sharepoint and the market will accept/support this and not like the old unsuccessfull OCS from Oracle.
the secret "the X is comming" opened Larry Ellision on his keynote. The "exadata" combination from HP and Oracle should realize performance for (big) databases; we'll see it.
IMO moves Oracle with this from the virtualization to application-grid technology. Not that virtualization is out for Oracle but the combination from hardware and software and database have another focus.
It is sometimes interesting that a big company like Oracle publish solution like SecureFiles for the database that are a long time available in smaller databases, like BlackfishSQL (calles Filestreams) from CodeGear.

All in all it was a great experience for me and I hope to attend on the next OOW in October 2009 again.

Mittwoch, 3. September 2008

EKON 12 - with a compiler engineer from CodeGear!

Today I visited the page of EKON12, the german conference for Delphi and all the other stuff from CodeGear. And, wooow, there are in the Delphi - area two very, very interesting sessions with Barry Kelly, who is one of the software engineers working on the Delphi compiler at Embarcadero's CodeGear.

Here are the details from the EKON-page:

New Delphi for Win32 language features

Barry Kelly - CodeGear

This session provides an overview of the new Delphi language features for RAD Studio 2009 - Unicode, generics and anonymous methods, and some intermediate and more advanced usage scenarios, including generic collections and concurrency idioms enabled by anonymous methods.

Advanced anonymous method and generics usage

Barry Kelly - CodeGear

This session covers more advanced usage scenarios for anonymous methods and generics. For anonymous methods, it will show a survey of closure-passing idioms as well as uses in threading: marshalling, futures, parallel-loop constructs. For generics it will be about escaping from constraint limitations via helper interfaces.

Freitag, 29. August 2008

Delphi Code Camp

At the end of September there will be yet another Delphi Code Camp which is always organized by the "Entwickler Akademie". Last time, we dealt with exactly one topic per day. These topics were Vista, VCL for the Web, Multithreading, Reporting and some others. This time, we will start with two trainers on the first day. They will talk about Object-oriented programming. A lot of developers working with Delphi every day, do not realize the full power of OOP.

The two other days will have two different tracks. I really enjoy trainings with Delphi Developers and will talk about reporting in Delphi 2009. Especially with regard to Unicode, DBX4, Blackfish (as well as some other database systems). Nevrona Rave will be my main focus as it will be bundled with Delphi 2009 yet again. This talk can be applied to older Delphi versions as well, only the Unicode specific features are exclusive to Delphi 2009.

Mittwoch, 27. August 2008

Rave and CRLF......

Last weekend I've developed on an application with reports and there I need CRLF inside Rave Scripting... (Beside the application I've updated the rave-script-chapter of my RaveBook (sometimes it will be ready, promised ))

If you need a CRLF in the Rave Script there is at the moment no way to use "our" delphisyntax with #13#10..... you must know C ...

In the OnBeforePrint-event of the Memocomponent is the following correct:

Memo1.Text := 'Information 1' + \13\10 + 'Information 2';

But beside this solution is another, more Delphi / Pascal-like way. You can define in your application a paramter like


in the Ravescript you can use the parameter :

Memo1.Text := 'Information 1' + RaveProject.GetParam('CRLF') + 'Information 2';

In the codebased-area have Nevrona included the CRLF very easy:

With Sender as TBaseReport do begin


Print('the line after 2 empty lines');


PrintCenter('next line ',Pagewidth/2);


and so on ....

Dienstag, 19. August 2008

OOW 2008

Yeah, I'll attend the Oracle Open World 2008 in San Francisco end of september. I hope I'll see Delphi and some other (new?) tools from Embarcadero CodeGear in the exhibition area of the Moscone Center.
Is anyone from the Delphi Community of the San Francisco Bay Area or from CodeGear from Scotts Valley there ?

Dienstag, 1. Juli 2008

Time to say Goodbye Borland...

well, it's time to say goodbye…

I've called today and, no surprise, I see the Embarcadero sign…

Last week I prepared a powerpoint-slide about one of my db-projects for a company and on my about-slide I inserted my experience and some other informations. After typing "1983 UCSD-Pascal" I realized that I have 25-years pascal experience. That's a long time, especially in the IT.
My first pascal with with the p-code card on a TI-99/4A computer from Texas Instruments, 16-bit in 1983 ....

I use Pascal from Borland Inc. from Turbo Pascal on Borland Pascal towards Object Pascal (started with Delphi 1 ... Delphi 2007 ehm Rad Studio 2007).
Meaning Borland & Pascal is for me a relation in the past and it's hard to remove the "Borland" but I'll make it....

I have a good feeling about the new company...

Both companies are not too big... this is for me an insurance that they don't include parts and destroy the other products of the smaller company.

Both companies are expert in a special market ... CodeGear have learned from the past and dropped some products (e.g. quattro pro, dBase, Paradox) that don't fit to the primary area of the company.

Now CodeGear offer IDE's for the market and with InterBase and BlackfishSQL smart and high quality databases. EMBT offers database-related stuff ....

I know the products from my trainings where I teach Oracle and MS-SQL administration and sometimes SQL-language and the quality are okay.

Both companies don't support only one OS/DB or so ....

Before I get some feedback about my opinion: I must admit that I'm a database-junkie, meaning I create over 95% db-related applications with InterBase, BlackfishSQL and Oracle (and perhaps in the future we'll see in the bigger db-market less Oracle and more MS-SQL, the market change IMO from Oracle more and more to MS-SQL). I compare it sometimes with the NDS from Novell and ADS from Microsoft.. The ADS isn't on the same level like the NDS but the administration is easier, e.g. in Oracle you need more expert-know then in MS-SQL to backup or
restore, with BF/IB you need less to nothing know-how but the db-market is very complex.

Best wishes to the Embarcadero CodeGear-team in Scotts Valley and all
the best for the next versions of RAD Studio!

After some quality problems in Delphi 8 and 2005 the team have found the right way and they improve the quality and the performance!

edit ... here a picture  the p-code-card for the expansion-box from Texas Instruments:

and the TI-99/4A have many languages in 1981/83:   (German, I know but readable...)

Mittwoch, 11. Juni 2008

Rave 8 is around the corner...

After a long time of development is the version 8 of Rave very soon ready (or RTM-ready..).

There are some new, exciting features in the version:

- A new debugger for scripts in your visual reports
- Native charting components and classes for both code based and visual reports
- Report Summary expert to print out the contents of your visual report designs
- Properties on mirrored components can now be overridden for even more reuse flexibility

With Rave 8 have Nevrona Designs to Rave BEX version available:
Rave 8 Developer and Architect

The developer edition is like the old BEX-version Rave 7. Rave Reports Architect will further include a license to ship an end user version of the Rave Reports visual designer with your applications (EUDL) and an unlimited user version of the Rave Reports Server.

Rave 8 will support Delphi 4, 5, 6, 7, C++Builder 4, 5 & 6, BDS 2005, 2006 and RAD Studio 2007.

Samstag, 31. Mai 2008

Blackfish SQL deployment license is changed ...

CodeGear have in the RAD Studio 2007 (and JBuilder, but this isn't my world) the new database Blackfish SQL for the .net-Framework included. BF in the package is not only a developer edition it's a real deployment licences with some (IMO small) restrictions. I've written some informations about this database here some weeks ago.
Beside the "big" restriction (Memory, Storage-Size, connection-limit and remote/local) CodeGear have included a text about the one (1) CPU on the destination machine. This text "provided each computer has only one (1) CPU" has been removed from sections 2.2(a) and 2.2(b).

This are great news, not only that the CPU-text is removed, the bigger news is for me, that CodeGear listen to the Customer AND had made a fast decision to help us, the developer who works and develop with Rad Studio, dbx4 and BlackfishSQL.

Congrat CodeGear to this sign!

Mittwoch, 14. Mai 2008

PageNumInit in Rave

I'm near the finish of my Rave-Book. At the moment there are two chapters not ready: Rave Scripting and Rave with VCL for the web (or better known of IntraWeb). I'll include the new features of Rave 8 for the scripting (with the new debug options and more) and I must look into IntraWeb.

I've received a question from a company, where I made some weeks ago a Rave-training, about the PageNumber. The report should start on overy group-header with the page-number 1 and increment till the next group-header will printed. I've made a short example to demonstrate the solution. But the PageNumInit-component can do more, I've added in the meantime this chapter with the other the possibilites.

Important is the correct order of the components in the tree on the right side!!

The rav-file is here for downloading, you need only the good old BDE with the DBDemos-alias and there the orders.db-table, that's all. I've used the DriverConnection inside the Rave-Project, meaning no TTable is needed. But Rave BE - users must open the RAV-file with the running Delphi-IDE.

Donnerstag, 8. Mai 2008

Borland Object Vision 2 ...

At the moment everybody write about the Embarcadero-deal.
I have a big advantage: I make Oracle-trainings and demonstrate since 2000 or so the products from Embarcadero in the trainings and can pronounce the word correct ...
I'm happy with this new constallation! I think with this combination we'll get in the future a lot of powerful tools for db-work, Delphi for writing db-applications, db-admin and developing tools and this remembered me on a discussion with Nick Hodges in autumn 2006 in Scotts Valley (a sunny day in the forest of northern California). I tried to explain that Delphi is like a swiss knife, you can use it for every type of restaurant, picknick, survival-tour and so on. But if you go to a steak-house or a fish-restaurant (e.g. in Santa Cruz on the coast) you'll get special knifes and not a general knife... With this deal I hope we'll get from Code_and_Database_Gear some special (db-)knifes to create db-oriented application. And Delphi is and will be the best db-oriented IDE. With this IMO it's possible that many developers stays AND new developers will go with Delphi in the db-future .... and I hope to see this year a DBArtisan-Version for BlackfishSQL ....

But back to the topic.... Anyone remember "Borland Object Vision" ??

I reorganize at the moment my homeoffice and found a great treasure: Object Vision from Borland 1992. It's a long time ago and on the package is the old address from Borland included.
I tried to install it on my XP-workstation and, yeah, it works like in the good old past. Now I have a QuadCore with 3 GHz in 1993 I had a Pentium Pro (I think so) with 200 MHz. No
compare with the speed now....
I loved this application, my way from the DOS-Pascal to the Windows Programming. David I had forgot this tool in his 25-years-blog ....

Okay, you can't compare this with a real IDE or a programming language. The result for the customers was a form-oriented application with Paradox in the Background and a event-oriented developement. Don't forget: 1992, over 16 years old, older then Delphi 1 on Windows 3.1x

Here from the example-folder some impressions of Object Vision. You'll see the events-area, the paradox-engine (not BDE, older ....).

Donnerstag, 24. April 2008

Blackfish SQL ....

Why should a developer choose Blackfish SQL instead of other databases for a Client/Server-Project with Rad-Studio 2007??

I made yesterday on the Delphi CodeCamp in Frankfurt, Germany a training about Blackfish SQL and thought that I’ll blog about one of my favourite database. Every developer with RAD Studio 2007 has the Blackfish SQL – server on the machine and the service is normaly active… but many don’t know details about BF….

Blackfish SQL for the .net-Framework and for the Java platform was introduced with the latest version of Delphi ehm Rad Studio 2007. The developer can think now, well, this is a complete new database with release number 1.0 …

This is wrong because Blackfish SQL is the successor of the well-known database JDataStore in the Java-area from Borland/CodeGear. The latest number of JDataStore was 7 and with increment we’re on Version 8 with Blackfish SQL for the Java platform. For the .net framework we’re IMO on the Version 8, too. The explanation is that the kernel of BF is the same like for Java because the guys at CodeGear had translated the Java code into C #code and not write the database from scratch with a “Java to C# translator”

This is important to know because everyone has normally problems to use any application or database with the version number 1.0.

Before we go into more details of BF it’s important to define the position in the database-area. We have normally four areas in the database-market:

  • Enterprise
  • Standard
  • Desktop
  • Embedded

And here I see one of the advantages of BF: You can use it in Standard, Desktop and Embedded.

My biggest BF - database in a production environment is in the meantime (running since last summer) 1,2 GB big, there are a lot of NDR-Files in VarBinary-fields stored (NDR-files are created by Nevrona Rave Reports and they included the complete generated report and from this NDR-file you can render to PDF, HTML and printing to printer). My other project isn't finished but use the BF-database to store and read Flash-movies (more about this exciting project in some weeks here!).

The Enterprise-area isn’t so important because we have only 3 players and it would be very naïve to fight in the market against the real big players like Oracle, IBM, Sybase or Teradata. I haven’t made for myself the decision if MS-SQL is ready for the Enterprise-market…but with version 2005 the opened the door of this area.

Back to Blackfish SQL…

With BF you can use one database on all three areas and that is a great advantage because you haven’t any limitations’ of the database. BF supports all the three areas. Normally a database have one or two areas and the other areas perhaps are supported but with reservation. With Blackfish there are no reservations and you using the full power of every area!

The database is fully SQL-92 compliant with supporting all four isolation levels specified by the ANSI/ISO SQL (SQL/92) standards.


Support the .net-framework and the Java platform. The datafiles of BF are binary-compatible and with this information it’s clear that you can copy (e.g. with FTP) the database between the two frameworks…


This is IMO the one of the biggest advantage: You can write all your database-objects like Trigger and StoreProcedures with your IDE, meaning with or other IDE’s in the .net-Framework and JBuilder or other IDE for the Java platform. You must only create a .net-Package and this assembly is to register in the Blackfish-database with “create method”. And now you can extend your SQL with Pascal. And compared with the UDF in InterBase it’s more “secure” that on an error not the server-process or the OS will crash…

In one of my next blog's I'll show you some examples of SP and Trigger, created with and running on Blackfish SQL server.

You can connect with ADO.net2 and dbx4 to the database, meaning from every application in your RAD Studio (Win32,, IntraWeb,,…).

And on the end of my blog the best … With RAD Studio you’ll get not only a developer edition of the database, like InterBase. You get a Blackfish SQL Studio Pro Edition for deployment in any production environment without any runtime-costs…

With the Enterprise / Architect Version of RAD Studio 2007 you have the following restrictions:

5 User / 20 connections

2 GB database-size

1 CPU (with unlimited cores)

With Pro Edition

1 local user / 4 connections

512 MB database-size

1 CPU (with unlimited cores)

The RAD-Pro developer can now update all the paradox-application to Blackfish SQL and the RAD-Enterprise-developer can create C/S-application on a server with 5 user-connection and 2 GB database-size. If this are limits a problem, you can buy unlimited versions, look on the codegear-page for price-info.

Look into the Developers Guide of Blackfish SQL (it’s on your RAD Studio DVD) and in the Codegear Developer Network. You’ll find some interesting articles like the following:

Montag, 14. April 2008

Source beautifier for SQL statements

A lot of developers uses source code beautifier tools for their source code, e.g. our ObjectPascal. But I found a nice online-tool for SQL-statements. You can not only format the SQL-command for the Database-server (Oracle, MSSQL and other) like the following result:

On the right side you have some options for formatting.

You can format this SQL-Statement for Delphi .....

var1 := 'SELECT HHJ,' ;
var1 := var1 + ' CUSTOMER,' ;
var1 := var1 + ' ORDER_ID' ;
var1 := var1 + ' FROM TABLE' ;

And other languages... e.g. for C# you can choose between
String var1 = "SELECT HHJ," ;
var1 = var1 + " CUSTOMER," ;
var1 = var1 + " ORDER_ID" ;
var1 = var1 + " FROM TABLE" ;
StringBuilder var1 = new StringBuilder("SELECT HHJ,");
var1.Append(" CUSTOMER,");
var1.Append(" ORDER_ID");
var1.Append(" FROM TABLE");

I found this very usefull for formatting my SQL-statement to read it sometimes later better..

Here you'll find the Online SQL and PL/SQL Formatter

Sonntag, 13. April 2008

Rave BE and Windows Vista

I received last week an email about problems with Rave BE and Windows Vista. I installed a version of Vista in VMWare and then Delphi with Rave BE.

Rave Version 8 (it should be available in the next few days!) works with Vista, of course.
Rave BE and BEX < 8 works with Vista, too

If you have problems try the following:

Rave BE is installed in the same directory structure as the version of Delphi was. In general, this will be the "c:\Programme" here in Germany or "c:\Program Files" in english. To attempt to resolve the Windows Vista security restrictions, you need to make sure that your "Group" or "User Name" has the "Full Control" permissions set to "Allow".

  1. Go to Program Files directory where you install the CodeGear / Borland product Program File\CodeGear\RAD Studio\5.0
  2. Highlight RaveReports
  3. Right Click on RaveReports and Open properties
  4. Click the Security Tab
  5. Select your own user name from the list displayed
  6. Click the Edit button
  7. Select your own uses name again
  8. Go to the "Permissions for Users" dialogue box
  9. Click the 'Full Control' Allow box
  10. Click Apply
  11. accept all the prompts
In my next post I'll explain the steps for Rave Reports BEX (Borland Edition eXtended) versions 7 or earlier.

Freitag, 11. April 2008

Thomas Pfister: A huge thank you to Bruno Fierens and TMS Software!

Due to recent blog postings about TMS Software and their Ribbon Toolbar Component set I do feel the need to state a few things about a fellow CodeGear Technology Partner.

I know Bruno for a long time, I've visited trainings from Bruno (IIRC in Frankfurt) and know some products from TMS. Everybody has realized in the last few months that the Delphi-area is not prospering like 12 years ago and the number of 3rd-party tools companies is significantly lower than 10 years ago. TMS - Software is one of THE software-companies which support Delphi. Well, this is not enough for a blog, but TMS is one of the few companies which supports not only Delphi Win32. They do support VCL.NET, ASP.NET and the VCL for the Web (better known as "IntraWeb"). This is IMO not very often the case in the Delphi-area.
Beside the support of all these plattforms, TMS creates new components and, if it makes sense, buy other components to integrate them in the TMS-products like the TNT Unicode-components from Troy.

I've noticed all the blogging and, please, Cool down!!
Don't forget: we're a small, active, friendly and healthy community and this should be the case in the future. It makes no sense to build to split up into different groups! Everybody here is a developer and no developer has made bugless-software and it is always a process of optimizing a first product and make it more "complete".

Sonntag, 30. März 2008

Delphi Code Camp in April in Frankfurt

In April is the next Delphi Code Camp here in Germany, organized by the Entwickler-Akademie.
On the last Code Camp in December 07 in Munich I talked about Rave Reports from Nevrona Designs. In the next Code Camp I'll talk (and make live coding, of course) about dbx4, the new database-framework from CodeGear (2/3 of the day) and on the other 1/3 of the day I talk (and make practice) about Blackfish SQL, the new database from CodeGear for the .net Framework. I know a lot of developers who still uses the "good old BDE" from Borland but it's time to change....dbx4 and Blackfish SQL are great solution for the change from BDE / Pardox or dBase.

Beside my database-dayon the other days are sessions about Delphi and Vista, Delphi and multithreading and the VCL for the Web.

You'll see on the code camp a lot of practice for your daily work with Delphi and I hope we'll see us on the Code Camp in Wiesbaden, near Frankfurt in April!
btw: the sessions will be in German.

Freitag, 29. Februar 2008

Blackfish SQL and InterBase from CodeGear

I attend on the EKON12-spring conference this week, like every year. One of my sessions covered about Blackfish SQL, the new database from CodeGear. In the discussion inside the session and after the session in the exhibition-area of the conference I realized that not all have understood the differences between these two databases.

I’ll try to explain it in this blog.

First: InterBase isn’t deprecated! The InterBase-Team works in Scotts Valley on this unmanaged database for the OS Windows, Linux and Solaris (Sparc).

Second: Blackfish SQL is a database for the both frameworks, .net from Microsoft and Java from Sun.

secret It’s not really new, it’s IMO version 8 of JDataStore and this mean you will get a very stable and optimized database! /secret

Well, if you’re a native-win32 developer your first impression is perhaps: “I use InterBase on Windows” and the Blackfish SQL for .net is only for a or with an provider interesting. This isn’t correct.

Codegear of published an interesting article (FAQ) about Blackfish SQL.

Blackfish SQL for .net is ideally suited for

• data storage
• embedded .net application
• Delphi application (Win32 and

Blackfish SQL for java is ideally suited for
• Java data storage,
• Embedded Java Swint/SWT apps,
• Java application

InterBase 2007
• Workgroup to Small Enterprise Databaseapplications
• Embedded Apps

OS / Framework

Blackfish SQL for .net

  • .net framework (at the moment not for the available but I expect a version for this)

Blackfish SQL for Java

  • Java Framework from a big server to a cellphone with JavaVM

InterBase 2007

  • Windows, Linux, Solaris (Sparc) and, new(!), MacOS X


Blackfish SQL for .net

  • Delphi 2007 ( for .net2 Framework); and C#/

Blackfish SQL for Java

  • JBuilder and other Java-IDEs

InterBase 2007

  • SQL

Case IDE of (in my Blog I can use the Case with strings… I miss it in Delphi! Nick, I would buy a big bavarian beer for this feature :-) )

  • Delphi for PHP -> InterBase 2007
  • 3rd Rail / Ruby -> InterBase 2007
  • RAD Studio 2007 / -> Blackfish SQL for .net or InterBase 2007
Win32 -> Blackfish SQL for .net or InterBase 2007

  • JBuilder -> Blackfish SQL for Java or InterBase

You see, both databases have special areas and IMO makes both databases sense because with this YOU can make the choice for the best solution for your customer!

Well, after this short explain of BF <> IB I’ll blog in the next few weeks about more information’s and experience with Blackfish SQL for .net in my blog.

And if you wonder about the "Why BF, compared with other databases on the (.net/Java)-market": There are many reasons and I collect these and will make another blog with answers about this question....(next week )

Stay tuned.

In April I make in Germany a one-day-training with the content “dbx4 (2/3 of the day) and Blackfish SQL for .net (1/3 of the day) @Entwickler-Akademie near Frankfurt.

Donnerstag, 21. Februar 2008

Nevrona have announced Rave 8 today!

Nevrona Designs have announced today the Rave 8 version! NEWS

And they've sent a email to all registered RAVE BEX users, see later the text of the email.

IMO is the Architect-version very interesting because you'll get the EUDL-license for your customer to modify the reports and you'll get the Rave Report Server with unlimited user.
A first-step-article about Rave-Server you'll find here (about V5, I'll update the article asap ).


Rave Reports 8.0 Announced
We're happy to announce the release of Rave Reports 8.0 in March, 2008.

Rave Reports 8.0 will be available in 2 new flavors, Developer and

Both Developer and Architect will include the Win32 and VCL.NET components
and will support Delphi 4, 5, 6, 7, C++Builder 4, 5 & 6, BDS 2005, 2006 and
RAD Studio 2007.

Rave Reports Architect will further include a license to ship an end user
version of the Rave Reports visual designer with your applications (EUDL)
and an unlimited user version of the Rave Reports Server.

Between now and the release of Rave Reports 8.0, we are offering significant
discounts on pre-order upgrades to all current owners of Rave Reports.

The pre-order prices are as follows:

Rave Reports Developer 8.0: $99 (lists for $299)
Rave Reports Architect 8.0: $199 (lists for $599)

Pre-orders can be placed by visiting

These discounts are our way of thanking our loyal customers who have
supported Nevrona Designs for the 13 years we have been in the Borland and
CodeGear markets. If you are still using an older version of Rave Reports
this is a great opportunity to upgrade to the latest and greatest features
and functionality.

Nevrona Designs Unicode policy
In line with CodeGear's recent announcement of Unicode support, Nevrona Designs is
announcing our intention to fully support Unicode as soon as the technology
is released by CodeGear.

Nevrona Designs has a long history of quickly supporting new technologies
with Rave Reports as they have been released by CodeGear (and previously
Borland). We are quite excited about the impact Unicode support will have
on Rave Reports and our support for many new languages and applications
around the world.

Thanks for your support!

Nevrona Designs -
1-888-776-4765 (Toll Free in U.S. and Canada)
1-480-491-5492 (U.S.)

Last Call for EKON SPRING next week

Like on the airport: This is the last call for EKON SPRING ....

I hope to see a lot of delphi developers on the first spring edition of the EKON in Frankfurt next week again. This is my 11th EKON (I've haven't attend only in sep2001) and it's every year a great event with news from Scotts Valley, other Delphi Developers and interesting face-to-face-talks.

I've finished my slides today on the ICE for my session about the database "BlackfishSQL" and beside this topic I'll talk about Rave and the "Oracle of Delphi" (this slides are ready, too).

Sonntag, 27. Januar 2008

Check for a valid printer on the system

Today I've received an interesting problem with one of my applicatons. On a Win2003-Server the application should crash... I tried to reproduce it on my Win2003-System@home and no problem, the data (over dbx4) - connection and the preview or creation of pdf-files, created with Rave Reports (what else ), works on my system fine. On the WinXP on the customer-side it works, too.
The solution was easy, after I noticed that they haven't installed any printer-driver on the system:

include RpDevice in the uses and then you can check before the rave executes the existence of any printer:

if RpDev.InvalidPrinter then
showmessage('no printer'); -> and you should disable the execute of RvProject in the application

The older way with printers count can make trouble with network printers and isn't recommended (RPDev.Printers.Count).

After installation of a small printer driver (I prefer the HP LJ4 for things like this) the application creates reports with Rave on the customers server without any problems....

Montag, 14. Januar 2008

Reader's Choice 2008

From the german "entwickler magazin" is a new Reader's Choice 2008 available, this remembers me on the"Delphi Informant" Readers Choice a long time ago ....(with TurboPower and so on)

Make your choice (if you work with Rave, make sure, that you check Nevrona Rave Reports for the best reporting tool ) and perhaps you'll win RAD Studio 2007, a ticket for the spring editon of EKON in February in Frankfurt or interesting (german) books....

Dienstag, 8. Januar 2008

Rave and

Daniel, the adminstrator of the german delphi forum delphipraxis have published some informations about statistiscs of the forum after more then 5 years (congrat Daniel for this friendly an helpfull place in the internet-world for every delphi-developer; and, yeah, I'm member #488 of this community since "5 Jahre, 3 Wochen, 3 Tage")

Especially interesting is the in the 2nd post the search-word "Rave": 11 !

# Begriff Häufigkeit
1 delphi 31.801
2 string 27.290
3 datei 26.631
4 dll 22.553
5 indy 18.343
6 stringgrid 17.215
7 listview 16.497
8 array 16.260
9 programm 15.410
10 form 15.189
11 rave 13.595
12 listbox 13.292
13 dbgrid 12.568
14 text 12.497
15 löschen 11.949
16 sql 11.535
17 xml 11.408
18 url 11.401
19 auslesen 11.256

If you search for Rave-related problems, questions and solutions ....
look into the delphipraxis (if you have problems with german translate with google)

Rave Reports and problems with (HP) printer drivers...

I read sometimes in newsgroups about problems with Rave and printer drivers, especially HP, e.g. 2600.

The interesting thing is, that the customer can print without any problems with MS-office or other application, but with Nevrona Rave Reports there is a Division by zero exception with some drivers. An update of the driver sometimes solves the problem but not 100%.

With the following solution is a workaround available that create the reports without exceptions.

Try this and if you found another problem (or solution, of course ) in this area, write me an email.

Some programming libraries (and perhaps MS-Office?!) contain such procedure

call: Set8087CW($133f);
this disables FPU exceptions....

Normally there is some bad code (in the driver) that is changing the FPU control word to cause it to ignore some exceptions and not properly resetting it.

The default value of Default8087CW is $1332, with the following code you can check it in your pascal-code.

If (Get8087CW and $1F3F) <> $1332)
then ShowMessage(Format('CW=$%4.4x',[Get8087CW]));

To make your rave-reporting with "every" driver stable, the following code should work;

CW: Word;
CW := Get8087CW;

or the asm-way


with C++ the workaround should be the secureFPU (I’m not the C++-expert, I hope this is correct !?)

#include "float.h";
void secureFpu() { _control87(PC_64|MCW_EM,MCW_PC|MCW_EM);}

Another trick especially for HP-printer driver is setting in the application the SkipAbortProc to true:
RPDev.SkipAbortProc := true;
(you must insert the RpDevice-unit)

Now your customer can print with Rave and don't get an exception....