Sonntag, 9. Dezember 2007

Use of Printers/Trays/Papers with Rave

Today I'll describe the basics of printer-control in a Delphi application with Rave (possible with all versions of Rave 3.x-7.x and BE/BEX!).

A lot of Rave-user haven't realize that Rave can manage the destination of the print result with out the way of the printer-class, especially the choice of the bin/tray ...

Of course, you can use function like the following to read out the tray from you printer-driver and develop a solution
pDevMode := nil;
Res := DeviceCapabilities(ADevice,APort,DC_BINNAMES,PCHAR(@(bin[0][0])),pDevMode);

But there is an easier way with Rave.
Nevrona Designs have built a "Printer device manager class" called RpDevice.
Insert RpDevice in your uses and then you can work with RpDev.
This function return the current RPDevice object for manage the printer in your app.

RpDev.InvalidPrinter is the first command and with this you can check on the user-machine if there is a correct printer installed or not, e.g. on some servers with running applications aren't installed any printer.

RpDev.Device shows the (selected) printer and RpDev.Printers shows the installed printers on the system.
RpDev.Bins read the installed trays for the selected printer.
RpDev.Papers for the papers (from the driver)

I use Duplex-Mode where ever I can...
With RpDev.SupportDuplex exits an easy way to check if the printer(driver) support duplex or not...

The previous commands only read informations, with RpDev.Select... you can define the destination printer, tray, paper and more

RpDev.SelectPrinter(ComboBox1.Text, true);

To save properties on the printer in the OS you can use RpDev.SaveToPrinter;

Before you execute a report you should define all the things in your code and the result is as expected .

In the RpDev-class you'll find many more and I hope I've opened the door to the possibilities!

Dienstag, 13. November 2007

A new virtualization player is on the horizont...

I develop in the meantime virtual, meaning I have on my workstation (an Intellistation with Dual-XEON 3,2 GHz and 4 GB RAM) for the XP-Prof-System with RAD Studio 2007 a SCSI-Ultra-320 solution with two 15k-harddrives and for the Windows 2003-Server a Firewire-800-system; it works under VMWare Server 1.0.4. The backup is on a USB2-HDD and I think this is a highly performance solution. I tested the MS-solution but the VMWare is in my IMO faster..
And today I received the info hat there is till tomorrow another player in the virtual-world (not the 2nd-life ): Oracle ....
Oracle VM is "is three times more efficient than other server virtualization products", wooow this is a big promise.... and:
"Oracle VM software is available for free download."

There are some interestings things of Oracle VM in the doc's:
"System Requirements
Oracle VM installs directly on server hardware and does not require a host operating system."
this means no guest-os-layer....

from the FAQ:
Who can use Oracle VM?
Any user can get Oracle VM and associated support from Oracle whether they use Oracle products or third party applications.

I wonder about the first impressions of this virtual-solution in the next days on my workstation....
Oracle VM can be freely downloaded starting Wednesday, November 14, 2007 at

Dienstag, 6. November 2007

Namespaces and Types of the .net framework 3.5

I've done in the past few weeks some small projects with win32 (I know, it's death but it really works, believe me) and if I need things from the .net-world I've written the assemblies and application in BDS2006 and RAD2007 and it works fine, e.g. I noticed that the log-file from the Microsoft Fax solution in WinXP is Unicode and to read information I made an .net-application. The main application use this "translated" information in non-Unicode.

Today I noticed that there is a new poster from about the namespaces and types in .net 3.5 (actually 2.x ) here available:

-> I think we must be on the top of any changes in the .net-world but it can co-exists with Win32-development and with Delphi we have both worlds, the old, stable and the new (not un-stable!) for our daily work.

Freitag, 2. November 2007

F# in the next VisualStudio release ??

In the Blog from Soma Somasegar, Corporate Vice President der Developer Division of Microsoft he thought about including the language F# in one of the next Visual Studio release....

F# is a functional programming language, objectoriented and high performanced for a scripting language....

Montag, 29. Oktober 2007

Delphi Code Camp on Tour

After Daniel and Olaf I'll announce the Delphi Code Camp, too.
We'll cover Vista, VCL for the web and Reporting with RAD Studio 2007.

The Reporting with Rave is my part of this CodeCamp.

On Tuesday, 04. December 2007 I will talk, show and discuss about Rave Reporting and Delphi / C++Builder 2007. We'll make a lot of practice and use RAD Studio 2007, Rave 7 (BE and BEX), InterBase2007 and the new database from (both with dbx4) CodeGear. We'll create reports in Win32 and

The language on this stop of the DCConTour will be German, d.h. ich werde ab hier in deutscher Sprache fortfahren:

Wir werden Rave Reports 7 intensiv kennenlernen und insbesondere die Architektur und effiziente Nutzung dieser Reportengine an diesem Tage ausführlich behandeln.
Insbesondere kommen die Möglichkeiten von band- und seitenorientierten Reports, GlobalPages, DataMirrorSection, PDF-Erstellung, Rave Scripting und RaveServer 7 zur Sprache.
Mehr zu den Themen im CodeCamp hier.

Auch Entwickler von älteren Delphi bzw. Rave-Versionen können einen Großteil dieses KnowHow-Transfer für ihre tägliche Arbeit nutzen.

Obwohl jedes der 3 Seminare auch einzeln gebucht werden kann, sollte man sich bei diesen drei interessanten Themen für alle drei Tage anmelden!

Mittwoch, 24. Oktober 2007

Rave AddOns for Rave 7.5x BE

On the AddOn-Page from are some AddOn for Rave, e.g. JPEG, GridBox, GreenBar Rectangle.

I hope that I have in the next few days time for creating a version for the BE-versions of Rave 7.5x for the 2007-IDE's. At the moment you'll find there only versions for Rave 4-7.0 (without BE 6.5x, if you need a version for this, insert here a comment and then I'll create the 6.5x-AddOns, too).

I hope every Rave-User have looked into the GreenBar Rectangle-component.. This AddOn is really a must-have-AddOn because you can set to alternate colors each time it prints, e.g. every 2rd line on long list-reports different background color. Now is the reading of reports with a lot of lines much better! Your customer will love this feature in your reports, try it! (but please use only white and silver for background and not red and blue or other funky colors ).

Delphi 7 and the Rave 5 BE Patch

I read last week in the nevrona-newsgroup a question about the location of the Rave 5.0.8 BE update for Delphi 7. On the CodeGear-page this important patch seemed not to be there.. I looked there and found it, of course, but another said, he have checked too and no, it isn't there....
Then I go to the CodeGear-page again, and yeah, it's tricky to found on the first vist.
You must go to the Delphi 7.1 update and on the next page you'll find the 5.0.8 patch for Delphi 7.... see my hardcopy on the right side.

Sometimes I'm surprised about questions for the 5.0.8 patch because Delphi 7 and Rave 5 are in the meantime very old...
But a lot of developers use the old IDE successfully...
If you are a Delphi 5-7 developer: look into the 2007-version of Delphi, this is a fast, stable and very powerful IDE.
Delphi 8 was a first try, but not a delphi as expected, Delphi 2005 was version 1.0 of the new IDE and Delphi 2006 was version 1.1 and 2007 is 1.5; meaning the first Delphi with the same properties like Delph 7!
And on the Rave-side Nevrona in Arizona have developed with Rave7 a fast and stable version of the report engine too! Look to the Nevrona-page for the new features of Rave7. I like especially the new JPG-Render and the improved and stable Rave Scripting in Rave7.

Download the trial of RAD Studio 2007 and Rave 7.5 and you'll stay on the newer versionsfrom Delphi and Rave after some hours.....

Freitag, 19. Oktober 2007

Oracle 11g - 1st impression

I've installed the newest version of Oracle Database 11g ( on a vmware-system and searched for new things for developers.

First thing is that Oracle now checks upper- and lowercase passwords..
older versions works with DES and the 11g release use SHA-1. I noticed this because my sys and system-user have the "masterkey" for password and I've defined "Masterkey" on installation

They have optimized the Oracle TimesTen In-Memory Database. I looked into this nearly real time data caching in Oracle 10g and wonder about the next step in performance.

Really new is IMO the Database Resident Connection Pooling. This feature allows multiple middle tiers to share the same connection pool and provides improved scalability for Oracle customers. The new feature will be available through Oracle's Call Interface API (OCI).
An interesting feature especially for Ruby or PHP-developers, perhaps with Delphi.PHP or 3rd Rails from CodeGear.

I found in the PL/SQL-area a really cool thing with sequences (same like Generators in IB/FB): normally you must read the next value into a variable and this variable you can use for the ID-column in a trigger. With SQL-words it means:

Select SCHEMA_NAME.SEQ_T_EMP.NextVal into (a declared variable) xyz from dual;

with 11g you can minimize the coding in


Why have this simle way Oracle not earlier integrated, perhaps to simple for the developers in Redwood Shores ?!

I wonder about the publishing dates of a Oracle 11g XE Edition and the 11g-Edition for Windows and Solars/Sparc.
CodeGear have published the new database-framework dbx4 this year and consolidation the db-driver from many (bdp, dbx, bde/sql-links, ibx) to only this framework for win32 and .net (single source).

I think we'll see in the next time a dbx-driver that supports 11g offiicial.

Mittwoch, 10. Oktober 2007

Oracle 10g - hidden function with "is null"

after some features in Rave I'll blog today about an undocumented feature in Oracle 10g ...

Every database-developer know the sql-statement "where column IS NULL", no problem I think
BUT how can you extend the statement into "where column1 IS NULL = column2 I IS NULL" ??
This type of query is IMO not defined in the SQL-standard or possible with a SQL-database, or ?

In Oracle 10g is an undocumented function: sys_op_map_nonnull

...where sys_op_map_nonnull(column1)=sys_op_map_nonnull(column2) ...

this makes sometimes my developer-life easier

Montag, 8. Oktober 2007

SAP acquires Business Objects (with Crystal Reports)

SAP acquired BO (4,8 billion EUR!) and they own Crystal-Reports since yesterday ...
In the last few months I noticed in the reporting area that CR loose market and with this step I think CR will go more into the enterprise and especially SAP-area.
We'll see the result of this acquitation from SAP....

Sonntag, 7. Oktober 2007

Next hidden feature of Rave

Rave have the powerful DataView-Area in the project-tree on the right side of the IDE.
There are all DataConnections stored and you can modify every datafield (e.g. DisplayFormat).
I read often in the newsgroups that there isn't the feature to dragn'drop the fields into the report. Thats wrong....
Nevrona have included this feature, of course, and not only this. There is a hidden (?) feature in this area of creating reports with Rave:

You can insert the DataField with the CTRL-Key and you can insert a Textfield with the name of the DataField with the ALT-Key. Look into the picuture. With this two keys you can insert all the informations of your DataView very quick.

Freitag, 5. Oktober 2007

Quality of software-products...Excel 2007

Today I read the blog from an employee from Microsoft about the Excel-2007 bug.
We're in the year 2007, the excel is not new and Microsoft isn't an one-developer-company and there is a problem like this, crazy or ??
A lot of delphi-developers are in a small team or one-man-"team" only and if they develop applications and there is a bug inside, no one will accept this... is a bug from Microsoft more accepted ?!

I have a very good book at home with the name "code complete" from Steve McConnell, this is a good book about software construction... there is a 2nd edition available and I recommend this book (I admit that I only know the 1st edition (yeah with Pascal example instead of C#-examples, but I think the 2nd edition is good, too) for every developer. It's available on amazon, too.

Will the ALM-way avoid this type of bug ?? I don't know ......

Sonntag, 30. September 2007

some hidden (?) Rave-features....

in the other post I said, that I'll publish a "Rave-Book" in the next few weeks on
I finish at the moment the german version (I think more then 250 pages!) and get on the EKON11 some feedbacks and some interesting questions about Rave.

Here is one, that every Rave-developer should know:


Have you ever noticed the differences on the icons in the RAVE-IDE ?

dark background -> this is a visual component
green background -> in-visual component, will not print
red point -> dataview-connection

of course, there are some inconsequent things, e.g. the bmp-component is only available without the red-dot, but works for both things....

all the green-background-components will triggered on the order in the project-tree, very important, especially when you work with report calculation....

I'll insert here in the next weeks some other features / informations about Rave....

The next feature is the intuitive use of DataFields.

stay tuned...

Freitag, 28. September 2007

EKON / CodeRage II face-to-face or virtuell...

Today I noticed from Anders Ohlssen in the borland-newsgroups that everyone can submit abstracts for the next CodeRage from CodeGear.
There are no new informations about a BorCon or with new word "CodeGearConf"... I hope CodeGear will plan a conference like in the past with BorCon..... but I don't know and haven't find any public information about a timefrime or location for an US-BorCon.

And Marco Cantu have in his "News #3 - September 21, 2007" the same informationstatus:
* No CodeGear US conference planned so far. I'm toying with the idea
of setting up a small Delphi event myself. Maybe I'll give it a go in Europe first, though.

There are only informations about a brasilian BorCon in October this year.

As posted in my blog from yesterday, I spoke on the EKON11 this year again and my feeling about THE face-to-face-conference in Europe for CodeGear-Tools is only two days old .....

What is the better way to transfer the know-how or new features of the new version of Delphi from speaker to attendees .....

I have looked into some sessions from the CodeRage in spring this year and visited on the EKON some sessions.....

I think you can't say "face-to-face" or "virtuell" is better then the other....
We're all int the IT and know the decision tables.... well, I will start with some advantage and disadvantage of both possibilities of making a conference. Feel free and add your ideas here.


+ every developer of the world can visit this conference
+ every "attendee" can better choose the tracks which are interesting (after download of the replays)
+ speakers from all over the world can make sessions, thanks to the internet and the connectivity over them!
+ speaker who don't love the publicity, meaning talking about stuff in a room with xxx attendes, will prefer this way and submit sessions and transfer their know-how!
+ cheaper for the organisation / sales departmnet of the company
+ cheaper for the attendes
+ indepent from the count of attendees
+ you can organize the time for the sessions better, just-in-time-presence is possible

--- you haven't social contact to other developers
-- you don't expand your "developers"-network and offers sometimes an ideal plattform to expand your business with other (programming, training, consulting) .
-- loosing of the feeling and wishes in the (delphi-)community for the developers in Scotts Valley (how will they get the wishes from us, the customers ??)
- there are different timezones in the world, somewhere in the world you must visit the session at 03:00 am and work on the next day @work
- you don't see the speaker / trainer and loose some non-verbal informations...
- IMO there are more ppt/pps-related sessions and not "live coding"

BorCon/EKON- Way

++ sessions are more for the people in the room because everyone can ask everytime and "interrupt" the session and the speaker can explain the way to solve; especially in the advanced sessions interesting...
++ in-deepth-sessions or advanced session with experts on both sides are possible, e.g.
+ workshops and codecamps available, I haven't any idea how this could be realize in the virtuell way ?!
+ discussion on the end of every session and after the session in the lobby
+++ talks, discussion in the lobby, at restaurant with speakers, attendees;
+++ talk with employees of CodeGear in the lobby (face-to-face talk with DavidI and NickHogdes) and they get a good feedback and wishes of the customers.... It's great that on the EKON or BorCon (I remember interesting talks, e.g. with BlakeS about C++, with Charlie Caro about InterBase, Steve Shauhgnessy about databases in San Jose on BorCon03, DavidI in US or Europe, NickHodges, and a lot of other CodeGear-guys on conferences, book-writers (e.g. Marco Cantu, Dr.Bob...) and guys from 3rd-party-companies, like DevExpress, Gnostice, Nevrona, AToZed, )
+ see other areas and countries, like California

- you must spend the complete conference time and have only 4-6 interesting sessions for your work (but if you use the time you can look into other "uninteresting sessions" and, heh, I haven't know the things I can solve this or this and I'll use it in my developers-work in the future ).
- expensive for the attendes, costs of hotel, flight,
- not easy to calculate the costs on the side of the organisation team, will be there 50, 500 or 5.000 attendes and 5,50,100 speakers on the conference.

Attention: this list isn't complete and in the correct (what is here correct?) order......just writing in on step!

Overall I'll prefer the EKON-way and see all the other developers and talk with them (not only about programming, yeah there are other things in the world to talk about, @Matthias I haven't forgot the D1 thing and the pictures!!) . The CodeRage-way is in my opinion a good addition to a real conference and great for developers to get knowledge about basics of new techniques and see trends and hypes in the programming world, but not an alternative to the face-to-face-conference.

What do you think about this two ways ??????

-take care

:-) thomas

Donnerstag, 27. September 2007

EKON11 / EuroDevCon

I'm back from my 10th EKON (I missed only the EKON 2001) and it was a great conference for me. The number of attendes was smaller then the last conferences. Talking with a lot of friends and attendes is everytime interest. I made my two sessions and both are with 40-50 attendes.
Nick Hodges from CodeGear have made a great job on the keynote and have made good explanations about the public roadmap and the news in the next versions, but all without any promises, of course.
He talked about Delphi, no surprise and about BlackfishSQL, the new database from CodeGear, ready for both frameworks: .net and .java.

In this area there was one very interesting message: CodeGear haven't forget the set-based databases, meaning the good old and still alive BDE is alive. Okay, if I have understand Nick correct, there isn't a BDE V 6.0 in the lab, but update based on BlackFish SQL: The result could be some compatible TTable/TQuery-component which allow the the table" browsing like a long time ago with Paradox and dBase.
I showed the dbx4-framework and hope to transfer the bascis of the new architecture of dbx4 from the database-team in Scotts Valley with possibilites like Delegate dbxTrace and dbxPooling;
I visited Olaf Moniens session about IntraWeb ehm "VCL for the web". IW is an interesting Tool, and if I have understood Olaf correct, especially for creating web-applications and not web-sites like content-mangement-system.
I think I'll look with my RAD Studio in the next few month more into this tool and especially into reporting with IW.
On the 2nd day I made my "Reporting with Delphi2007" session and showed the Rave 7.5.2 BE version in the RAD Studio 2007. There was a lot of QR-users and I think some of them think now about a move to Rave because it's with more features and with complete support of vcl and
-> with the word I remember my "private Rave session" with Holger Flick in the afternoon. Holger have prepared a session about ECO and Blackfish and we optimized the report and included the covers on the report, changed the MemoryMode of the RvSystem because the report consume a lot of memory to create the NDR-file and using the power of GlobalPages.
Perhaps Holger is a new fan of Rave Reporting ?
After some interesting talks with attendes about Rave and documenation and tips&tricks like a cookbook I announce here my plan:
I started a long time ago with writing of a Rave-Book. Started with Rave 4 and over Rave 5 (with a chapter of Rave for Kylix, installed and used on a linux-system on my old workstation "HP Kayak XW Pro" with a Pentium Pro 200 )) to the latest release Rave 7. Beside Rave there all the other 3rd-party-stuff, like Gnostice, esbconsult and other described. Rave Server 5 and 7 is included and the mystery of Rave Scripting (not yet finished (80% complete in this area). And a chapter about IntraWeb and Rave will go into the project, too. I'll go over the and hope some Rave-developers will get knowledge of my Rave-experience of the last 9 years.
There is only one small print info: the 1st edtion is available in German-language only.

Neal and Ray made a great session about Polyglot programming and effective user design on the 2nd day of the conference. The session was very, very interesting; funny and attractive talking of both speakers and I took some great ideas home.

Thanks to all where I met and talked about Rave, Delphi and a lot of other stuff and Masoud an this team for the good organisation of the conference.
See you all on the next EKON - 12 in Frankfurt again!

Sonntag, 2. September 2007

The new Delphi is around the corner…

Thanks to Nick Hodges that he released me from an NDA to blog about the upcoming new Delphi version – codename “Highlander”.

There are some interesting things in and some not in the package of the RAD Studio 2007 (instead of BDS2007).

The new Delphi version supports .net 2.0 and 3.0 because this isn’t a new version of the .net-framework, the core is 2.0 but some assemblies are updated or added to the framework.

But Codegear have minimized the C#-part of the developer studio. I think this decision is a good decision because the C#-part is always one step behind the C#-part of the competitor (I forgot the name, sorry). But it isn’t dropped completely. You can use C# assemblies like in the older BDS in your Delphi-project and this is the important thing.
If you’ll write a big application in C# then you must move to another IDE with less power (IDE-related) compared with the Developer Studio (IMO…). But don’t forget the Microsoft have WinForm deprecated….

The IDE is in my opinion very fast, and stable. Delphi 8 was version 0.9 of an IDE, Delphi 2005 the Version 1.0 and Delphi 2006 the Version 1.1 and the new version is like 1.5 (if I’ve written 2.0 then mean this a zero again, and this could make a wrong impression about the RAD Studio). On all of my working with this version I haven’t big problems or crashes of the IDE.

But every developer should have enough memory and a fast harddrive in the year 2007.... I recommend 2 GB and fast harddrives (I have 4 GB RAM and an U-320SCSI-subsystem on my Intellistation with two Xeon and I haven’t any speedproblems in the VMWare-area).


Really new is a database called “BlackfishSQL” from Codegear. A long time ago Borland have written a database in and for Java, called JDataStore. On the BorCon 2004 have Borland showed a version for the .net-framework, called NDataStore but they haven’t finish this work. However, three years later the database is ready. It’s written in C# and use the same datafile like JDataStore. Now you have the chance to support with one database the .net-world and the java-world, meaning your database works on both areas. And these databases have a very small footprint, the administration is less and the database works very stable. BlackfishSQL supports transaction, the SQL-92 and Unicode storage of character data. You can start the server in application or service-mode, like InterBase.
Codegear have here a lot of experience with the JDataStore-database in the last years and included this in the
BlackfishSQL-database. Meaning: this database is not complete new, it works now not only in the java-framework it works in the .net-framework, too.

If you think, nice info about a new database but not excited because I work with the xyz-database:

This database can use Trigger and other db-stuff written in (or other .net-language)… There is a “Borland.Data.DataStore” namespace and for the .net-area you can write in the future your trigger inside your Delphi. If you'll support the Java-side of the database, use the com.borland.datastore package and create for this plattform the sp and trigger in java.

In the Screenshot you see the Database. You can connect over the DBX4-framework (available since Delphi 2007) or ADO.net2. JDBC is possible, too.

This database is fast, I've test with some sample data (400 MB) and the response and fetch of the result was great. I wonder about a compare between BlackfishSQL on a Windows Server and BlackfishSQL on a Sparc-Machine. Interesting idea for the cold winter here in Bavaria .
Blackfish supports incremental backup and failover.


The new (in Delphi2007 published) database framework DBX4 is with this version of Delphi for managed and unmanaged application available. Steve Shaughnessy and his team have made a great job in the last year and build a complete new dbExpress-version. It’s more then a new version of dbExpress, it’s a complete framework. The developer can use this framework and expand it very easy because it has included a lot of interfaces and layers. It’s single sourced and create with a high skill of programming. I’ve read in the source and it’s amazing to learn from this framework-source (and I work with Pascal since 1982).

If you need a other datatypes, no problem write your own custom command type and use it in your applications. And with the option of Delegation, e.g. Trace and Pooling in this version you have more control of the database-connection then in the last dbExpress-versions or other database-connections. And you can use the framework in vcl.32 and This is IMO a big advantage of the next version. Delphi is IMO the best IDE for database-application because you have the choice of the best way to your database(s). No special support for the company-database, they support the most used databases. And with the stop of the BDP-development Codegear must only maintain one database-layer, and here we can expect in the future fast support of new database-versions with new features. In the past they must realize the support on more then one database-connection component. Congrat to Scotts Valley for this decision!


Generics complete new in the next Delphi version. The use of generics is normally to define a class that has generic type parameters and you can consume and create generic types inside your Delphi. Now every Delphi Developer must learn this new feature (I think in the next few month there will be enough information about this area on the or in from Marco Cantu, Bob Swart and other) and after this the developer must make the decision “I need it or not for my type of application”. It’s like a lot of other features in the language and compiler-area of Delphi.

But this feature is at the moment only in available, the win32-support will included in the next release of Delphi (see the Roadmap here


The upcoming Delphi version has Rave Reports, of course .

Since Delphi 7 is Rave the standard report engines and supports VCL.32 for Pascal and C++ and for Pascal. And the last mean you can use ADO.net2-provider over DBX4 for your reports in Rave. The version will be RAVE BE 7.5.2 (7.5.0 was Delphi 2007, 7.5.1 was BCB 2007). The differences between RAVE BE and RAVE BEX you’ll find here.

You can create simple to complex reports, render the reports into HTML and PDF and have the possibility to use scripting inside your report. And besides this feature you have with Rave a really high-speed optimized report engine.

I think at the moment about "Generics and reporting with Rave and the custom connection" .

The RAD Studio 2007 is a consistent step in the correct direction and you'll get a stable product for developing applications for Win32 and the .net-Framework.

In the winter can Codegear make a facelift with the VCL and integration of Unicode. Last week I've made the experience that the Microsoft Fax service write the log-file in Unicode and I have a win32-application.. after some minutes I've written a .net-application in BDS2006 (.net 1.1) and this application (called with parameter from my Win32-application) convert the unicode-log-file into a vcl.32-readable log2-file and it works, but not very elegantly.

Freitag, 31. August 2007

The Power of Rave

the headline remembers me on Huey Lewis and the news hit "the power of love" a long time ago .... but back to Rave.
I'm sometimes read and answer Rave-questions in the nevrona-newsgroups and yesterday I found an interesting thread from a Rave-User:

Re: Order is important!!

".... Lastly, I've used both Crystal and Rave, and I gotta say, I wish more people
could see just how awesome a product Rave is. And how much more power you
have with Rave.

Christian Wilkerson"

thanks Christian for this!

I'm a TeamNevrona-member and when we say "Rave have power and is a phantastic product for reporting" is this not the same like other developers who works with Rave because the people think we must only talk positive about a product...
I work with Rave round about 10 years and I've realized all my reporting-issues with Rave.. and on my consulting-work on many companies (from small to really big companies) in europe (with Delphi, Rave and databases like Oracle) I can't remember any report-issue that the reporting - engine from Nevrona don't create with success.
Yeah, I haven't wrote "Rave" because Nevrona have two report engines, one is visual: Rave and the other one is code-based: Report Printer Pro, available since April 1995, two month later then the first Delphi Release!
And if the report design is too complex for a visual report then you can do it all in Pascal-code inside your Delphi-Application. You'll find a good demo in the Rave-folder.
On the are good information about this report-solution and on CodeGear-Network page is another good introduction from Leonel about code-based reporting...

Dienstag, 14. August 2007

Rave and unicode

I read very often in the newsgroups or in email about supporting unicode in Rave ....

The status is at the moment:
  • Rave for Win32-developement doesn't support unicode
  • Rave for the .net-Framewok support unicode
Rave for Win32

Rave is based on the VCL, no surprise. and the VCL isn't unicode-ready at the moment.
There is an interesting article in the blog from Hallvard about "unicode and VCL" with Danny Thorpe. It's not new but unchanged in the year 2007....
In the Delphi-Roadmap from CodeGear is the support of Unicode for the Win32-plattform for the first half of 2008 announced:

Delphi "Tiburón"
Time Frame: First Half 2008
Theme: Delphi and VCL development with Unicode and Generics

Delphi Win32 Unicode This means that the IDE, the VCL, and all types of development should be made fully Unicode-compatible. The standard string in the Delphi language will become a Unicode string, meaning that the IDE, the VCL – that is, the entire product – will be Unicode-based. Developers around the world will be able to develop applications for use in any language using the Unicode standard.

meaning: when the VCL inside Delphi supports unicode Rave should support unicode as well .... but this need a lot of patience.
But Nevrona have done good work in the past, since Rave is working with unicode strings and such in .NET, the conversion to the unicode for Win32 will be a lot simpler (i.e. Nevrona already have code to handle strings of different character length).

Rave for the .net-Framework

that's easy
Rave for the .net-Framework supports unicode because .net framework supports unicode ...

But don't forget that you need the right font with unicode-support... I recommend that you work inside Rave with the FontMaster. Insert a GlobalPage and name the Page into GPFonts and here you can insert FontMaster for every Font / Size / Style (I called the components in my Rave-projects FMArial12bold, FMArial10, FMArial10bold ....) and define the FontMirror of the (Data)Text and (Data)Memo to this FontMaster. Now you can define very easy on one place (!) the correct font with unicode-support. And this is the only way at the moment to change the font of (Data)Text/Memo-component inside the Rave Scripting. And you have in all your reports of the application a good corporate design-feature included.
You see, a lot of advantages for using the FontMaster-component in the Rave-Project!

Samstag, 11. August 2007

RAVE 7 BEX and Delphi 2007

I read in many newsgroups in the last few months threads with the subject "Rave 7 BEX and Delphi 2007".

Rave 7 BEX is binary compatible with Delphi 2007 for Win32. However, the current installer from Nevrona Designs does not automatically install into Delphi 2007. You'll need to install the package dclRave.bpl from the BDS2006 files included with Rave 7 BEX within the Delphi 2007 IDE.

But please make first the following : modify the RpDefine.pas (remember, you have the source with BEX!) like the following

in the RpDefine simply change the last statement to be a >= instead of just the equal

{$IF CompilerVersion >= 18.0} { Delphi 10.0 }
CompVer = '10';

CodeGear haven't created a MajorRelease in the compiler-area with Delphi 2007; the version have only changed from 18.0 to 18.5 and all (*) the BDS2006-files working without any changes in Delphi 2007.

that's all!

I admit that my production environment is BDS2006Arch and not Delphi2007 but I have test the installation of Rave BEX 7.05 in a VMWare-machine with Delphi 2007 Enterprise without any problems! I created an application with dbx4, Rave7 and an oracle connection and it works fast, as expected from the Win32-Compiler Delphi

keep hacking and coding with CodeGear Delphi
(some years ago a friend of mine have a great signature: "Delphi or notepad"


In theory, there is no difference between theory and practice.
But, in practice, there is.

Rave BEX and BE - the differences

yesterday I received an email about the question for a version 7.5 BEX because in Delphi 2007 is Rave BE in the version 7.5 included.

Many rumors are on the different newsgroups about this. In fact, there are differences, but with BE bundled with Delphi (7, 8, 2005, 2006 and 2007) you have a full version of RAVE and can create reports (and deploy, of course) in your application.

The greatest differences are:
• Source code – the BEX version comes with full component source code (not the IDE source, like Delphi).
• “Archived” Code Based Components (including the powerful Shell-components) are included with the BEX version for backwards compatibility.
• More frequent updates.
• Support for TeeChart Pro – the BE version only supports the bundled TeeChart.
• Improved Scripting
• The BEX have backward compatibility, meaning a Rave 4/5/6 Project can be used in the Rave 7 BEX-version with all code- and class-changes.
• Since the latest version of BEX (not BE) you have a new JPEG-render, especially interesting for store the reports with a small file size
in the database and you can view this file without installing a pdf-reader (e.g. on a server, where you should only install important app's!)

So we are getting a “reasonable” version bundled with all Delphi-version since V7 and if any of the above matter to you, then you should consider getting the BEX version on the Especially the source and the technical support is very valuable!

But now back to the question about 7.5 of RAVE BEX....
If you have are a good observer then you have in the past noticed that with Rave 6 the BEX version had 6.0x and the bundled version of RAVE BE in Delphi 2005 and and later had 6.5 and in in version 7 it's the same, meaning the Rave 7.05 BEX is not older then the Rave 7.5 of Delphi 2007, and believe mit there aren't differences in the rav or ndr-file between 7.05 and 7.5.... and Jim Gunkel have written about the next Rave Version 8 (see an earlier blog here) and not about 7.1 or 7.5 BEX ....

Samstag, 21. Juli 2007

iPod Protection against theft

My brother-in-law have sent me today a funny link for the security of my iPod.
Funny the idea with a Zune to secure the iPod....
I admit that I love my iPod (o.k. exactly I have in the meantime two of these cool music player) and use especially the shuffle for hearing my Huey Lewis and the News songs (only this artist is on my shuffle with 512KB mem) ...
With a cool design, cool features, good quality and a good marketing you can win in the windows-market new users; but you must offer not only the player, all the additions around equal important then the other keys! Please, CodeGear learn from the iPod-success and Delphi will get the success which this cool and productive IDE and the Pascal-language have earned, it's not to late for this. If the pascal-language haven't advantage the C#-Architect Anders Heijlsberg didn't include a lot of AlGol/Pascal/Modula into the language C#...

Sonntag, 15. Juli 2007

alternative to YouTube

I found yesterday a great alternative to youToube: Dailymotion ....
Better quality of the videos/sound and IMO better videos then yT, and in my area where I searched better movies of

Montag, 9. Juli 2007

CodeGear Delphi.PHP and Borland IntraBuilder

well, it's over ten years old and I admit that I don't work with IntraBuilder anymore, meaning it's here@home not a software, it's a shelf-ware

Who knows this IDE ? I think less people....but I'm not alone : Dr.Dobbs have an article about this from 2001.

This product was a cool and powerful designed JavaScript IDE that was clearly ahead of its time, like other tools from Scotts Valley:
ObjectVision from Borland, a great tool to move from DOS ot Windows AND to the basics of objectoriented working.

10 Years ago there was an IDE for JavaScript that puts the likes of Adobe Dreamweaver or ActiveState Komodo to shame, believe me. Okay, not the full AJAX but
IntraBuilder would have been a natural testbed for testing early HTTPRequest and other AJAX framework ideas.

With the new spirit in Scotts Valley (I love this area and hope to visit SV again) and the loyal customers around the world they can go into this area with Delphi.PHP and Ruby, it's not to late but after the splash of the availability of Delphi.PHP I wait for the waves in the internet-area...
Andreano have insert in his blog great ressources to read and learn about the possibilites, try the examples with the Trialversion!

Mittwoch, 27. Juni 2007

EKON - 11 CodeGear-conference in Frankfurt

End of september is "EKON 11", the german BorCon or new "CodeGear-Con" ( This is my 10 EKON where I visit / speak (only 2001, after 11/9 I don't go to the conference... ).
This year I make a Rave-session and a session about DBX4, the new database-framework, released with Delphi 2007.
I planned a session about "WebParts with Delphi for Microsoft SharePoint" but the .net2/3-support in the Developer Studio isn't available and I don't know the release date (before or after EKON11).... -> perhaps next year.

Mittwoch, 23. Mai 2007

CheckPoint Firewall-1 and Script Kiddis

Last week I've received a funny letter @work.....
CheckPoint FireWall-1 is the solution for officials and organizations with small security-requirements. Only 1-2 points on the 0-10 list.... and every semi-prof hacker AND script kiddis can go through checkpoint into the local network....
This statement have made an IT-expert and he recommend no firewall and on every machine the user must start with a knoppix-cd and then connect to the internet in the box....
I work with CheckPoint since 2001 @work and @home I have a safe@office-solution appliance with CheckPoint-technology. I think no firewall can realize 100% security but CheckPoint is definitly not a low-security solution... It's a scalabiltiy solution and with the correct configuration it's one of the leader in the security-area....
But it's funny to read this letter with no content but a lot of wrong information... I'll answer with facts because some people have read this letter......and this is like some newspaper, the big headline, no true but someone believe this.....

-take care

Dienstag, 15. Mai 2007

Rave 8

I found an interesting information about Rave (Monday, 7. Mai 2007 18:26) in the nevrona-newsgroups from Jim Gunkel, the CEO of Nevrona Designs:

"We're all alive and healthy here working on Rave Reports 8 which is shaping
up to be one of our biggest releases in a long time. Some of the new
features include docking and restructuring of the tool windows within the
designer, band logic revamp and an exciting new template system integrated
with a new 2-way report wizard.

More details on these and the other new things will follow as we get closer
to Rave Reports 8 release. We're not giving out any timeframes yet but stay
posted (I can tell you that anyone that orders Rave 7 now will get a free
update to Rave 8 when it's released).

great news !

new Client/Server-Application in 2007 with .net or win32 ?

Well, is this a question in 2007 with the stable .net version 2 (perhaps 3.5 in the next month)??? Microsoft latest Win32-development is with VB6 very very old and all the newer visual studio version creates .net-application in Basic, C# and so on....
And CodeGear create a Delphi-Version in the year 2007 with Vista-support, but for Win32....

I remember the blog from holger about managed code or not on this blog Managed code is too slow... yeah, right... and the following discussion ...

I have a new project this month, and surprise surprise, a database-application with Oracle in the background.
I've moved all my application since last september from Delphi 7 to Delphi2006.win32 and I'm happy about the IDE-feature and the speed. I think it's really fast and we can compare it absolutely with Delphi7. With the BDS I have the choice to work on both world... but last weekend I made the decision: the project will be a Win32-application. I admit that I haven't found anything in the .net-framework that make the decision to .net ...
Remember, this is "only" a c/s-application, no 3-tier, webapplication or other remote dataconnection.....
I started a new Win32-project with the DOA-components from allroundautomations, the QuantumGrid v5 from DevExpress and Nevrona Rave Reports, of course.

Perhaps someone can give me a hint why this is the wrong decision for a new application in the year 2007.......
In the meantime I will develop and have finish my database-modelling (Tips for Datamodelling).... and learn at the moment the power of Castalia 5.1 for my daily work. In this tool there are really cool and powerful features included, congrat Jacob, great job!

the only point for .net is at the moment ECO, but I admit that I haven't found the door to go into this new house and use this Framework in my BDS2006.... Sometimes I will read the ECOBook from Alois and hope to realize the help of ECO to do my job better and faster.... but you know: things.take.time.

-take care

Montag, 30. April 2007

Oracle, Rave, Delphi and a lot of lakes

in the last few weeks I've made some Oracle, Rave- and Delphi-Trainings in Bavaria and Italy. I saw the beautiful Ammersee on an Oracle-Training, one week later the Chiemsee (both in south bavaria) on an Oracle-Workshop and then I changed through the Brenner and Lago Magiore to Piacenza in Italy, where I made a Rave-Workshop at Marco Cantu's Company WinTech.
on the evening I go with Marco to a local restaurant and learned a great dish: "pisarei e faso". pasta and beans and cheese, delicious!
After this workshop I visit the Comer Lake and some other not so well-known lakes and made a special Delphi-Oracle-Training with interesting contents (but I have a NDA.... )
Over 2.500 km with my Quattro in this timeframe and I've learned a lot of smart and nice guys in all of this location..... thanks to all and cu sometimes somewhere again!

Montag, 9. April 2007

Rave BEX 7.05 is available

After a long time of waiting Nevrona Designs have published the 7.05 version of Rave SE and Rave BEX. Beside a lot of small changes and fixes there are two interesting features now included:

They have added RenderBitmap/RenderJPEG/RenderMetafile components and the ability to compile scripting from Delphi code.

The rendercomponents works like the well known html- and pdf-components, of course. The compile scripting is really cool. To compile code that is already there it's as simple as calling RvProject1.ProjMan.Compile.
I'll prepare a first-step tutorial about Rave Scripting in the next few month and publish it on the stay tuned!