tag:blogger.com,1999:blog-43044205028871247802008-07-19T00:46:06.319-07:00Rave, Delphi and morethomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comBlogger46125tag:blogger.com,1999:blog-4304420502887124780.post-34822717962121460022008-07-01T05:23:00.001-07:002008-07-01T14:43:47.187-07:00Time to say Goodbye Borland...well, it's time to say goodbye…<br /><br />I've called today <a href="http://www.codegear.com/" target="_blank">www.codegear.com</a> and, no surprise, I see the Embarcadero sign…<br /><br />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.<br />My first pascal with with the p-code card on a TI-99/4A computer from Texas Instruments, 16-bit in 1983 ....<br /><br />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).<br />Meaning Borland & Pascal is for me a relation in the past and it's hard to remove the "Borland" but I'll make it....<br /><br />I have a good feeling about the new company...<br /><br />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.<br /><br />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.<br /><br />Now CodeGear offer IDE's for the market and with InterBase and BlackfishSQL smart and high quality databases. EMBT offers database-related stuff ....<br /><br />I know the products from my trainings where I teach Oracle and MS-SQL administration and sometimes SQL-language and the quality are okay.<br /><br />Both companies don't support only one OS/DB or so ....<br /><br />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<br />restore, with BF/IB you need less to nothing know-how but the db-market is very complex.<br /><br /><span style="font-weight: bold;">Best wishes to the Embarcadero CodeGear-team in Scotts Valley and all</span><br /><span style="font-weight: bold;"> the best for the next versions of RAD Studio!</span><br /><br /><p>After some quality problems in Delphi 8 and 2005 the team have found the right way and they improve the quality and the performance!</p><p><strong>edit</strong> ... here a picture the p-code-card for the expansion-box from Texas Instruments:</p><p><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_8mmjMfoshuY/SGqkASjx1WI/AAAAAAAAAEw/LAQGvL_REmo/s200/P-Code.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5218163443151000930" /></p><p>and the TI-99/4A have many languages in 1981/83: </p><p>http://thomas.pfister.googlepages.com/MeinTI.jpg (German, I know but readable...)</p>thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-17845134704770819332008-06-11T07:40:00.000-07:002008-06-11T07:51:49.976-07:00Rave 8 is around the corner...After a long time of development is the version 8 of Rave very soon ready (or RTM-ready..).<br /><br />There are some new, exciting features in the version:<br /><br />- A new debugger for scripts in your visual reports<br /> - Native charting components and classes for both code based and visual reports<br /> - Report Summary expert to print out the contents of your visual report designs<br /> - Properties on mirrored components can now be overridden for even more reuse flexibility<br /><br />With Rave 8 have Nevrona Designs to Rave BEX version available:<br /><span style="font-weight: bold;">Rave 8 Developer and Architect</span><br /><br />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.<br /><br />Rave 8 will support Delphi 4, 5, 6, 7, C++Builder 4, 5 & 6, BDS 2005, 2006 and RAD Studio 2007.thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-63547882227787054922008-05-31T02:31:00.000-07:002008-05-31T02:43:13.028-07:00Blackfish 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 <a href="http://rave-notes.blogspot.com/2008/04/blackfish-sql.html">here</a> some weeks ago.<br />Beside the "big" restriction (Memory, Storage-Size, connection-limit and remote/local) <a href="http://www.codegear.com">CodeGear</a> 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 <a href="http://cc.codegear.com/item/25650">removed</a> from sections 2.2(a) and 2.2(b).<br /><br />This are great news, not only that the CPU-text is removed, the bigger news is for me, that CodeGear listen to the Customer <span style="font-weight: bold;">AND</span> had made a fast decision to help us, the developer who works and develop with Rad Studio, dbx4 and BlackfishSQL.<br /><br />Congrat CodeGear to this sign!thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-77379794210508479962008-05-14T07:32:00.000-07:002008-05-14T07:52:09.568-07:00PageNumInit in RaveI'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.<br /><br />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.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_8mmjMfoshuY/SCr8doGfQiI/AAAAAAAAAEA/dIvCbC33lME/s1600-h/PageNumInit_Rave.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_8mmjMfoshuY/SCr8doGfQiI/AAAAAAAAAEA/dIvCbC33lME/s200/PageNumInit_Rave.png" alt="" id="BLOGGER_PHOTO_ID_5200246305663697442" border="0" /></a>Important is the correct order of the components in the tree on the right side!!<br /><br />The rav-file is <a href="http://thomas.pfister.googlepages.com/Project1.rav">here</a> 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.thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-60712667673080966652008-05-08T23:55:00.000-07:002008-05-09T01:05:53.565-07:00Borland Object Vision 2 ...At the moment everybody write about the Embarcadero-deal.<br />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 <g>...</g><br /><g><span style="font-weight: bold;">I'm happy with this new constallation! </span>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 <a href="http://blogs.codegear.com/nickhodges/">Nick Hodge</a>s in autumn 2006 in Scotts Valley (a sunny day in the forest of northern California). I tried to explain that Delphi is like a <a href="http://www.victorinox.ch/">swiss knife</a>, you can use it for every type of restaurant, picknick, survival-tour and so on. But if you go to a</g><g> 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</g><g> db-future .... and I hope to see this year a DBArtisan-Version for BlackfishSQL ....<br /></g><br /><g>But back to the topic.... <span style="font-style: italic;">Anyone remember "Borland Object Vision" ??</span><br /></g><br /><g>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 <a href="http://maps.google.com/maps?f=q&hl=de&geocode=&q=1800+Green+Hills+Rd,+Scotts+Valley,+CA+95066&sll=37.0625,-95.677068&sspn=59.856937,110.390625&ie=UTF8&t=k&z=17">old address</a> from Borland included.<br />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</g><g> compare with the speed now....</g><br /><g>I loved this application, my way from the DOS-Pascal to the Windows Programming. David I had forgot this tool in his <a href="http://blogs.codegear.com/davidi/2008/05/02/38881">25-years-blog</a> ....</g><br /><br /><g>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<br /><br />Here from the example-folder some impressions of Object Vision. You'll see the events-area, the paradox-engine (not BDE, older ....). </g><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_8mmjMfoshuY/SCP4MNTf8kI/AAAAAAAAADg/DSZe0Xrv9IQ/s1600-h/Ov21.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_8mmjMfoshuY/SCP4MNTf8kI/AAAAAAAAADg/DSZe0Xrv9IQ/s320/Ov21.png" alt="" id="BLOGGER_PHOTO_ID_5198271283529249346" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_8mmjMfoshuY/SCP5ANTf8lI/AAAAAAAAADo/X8wICfHZXGU/s1600-h/ov21_1.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_8mmjMfoshuY/SCP5ANTf8lI/AAAAAAAAADo/X8wICfHZXGU/s320/ov21_1.png" alt="" id="BLOGGER_PHOTO_ID_5198272176882446930" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_8mmjMfoshuY/SCP6HNTf8mI/AAAAAAAAADw/SdVGSwsnC8E/s1600-h/Info_ov.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_8mmjMfoshuY/SCP6HNTf8mI/AAAAAAAAADw/SdVGSwsnC8E/s200/Info_ov.png" alt="" id="BLOGGER_PHOTO_ID_5198273396653159010" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_8mmjMfoshuY/SCP6T9Tf8nI/AAAAAAAAAD4/_-Qa3VBaKy0/s1600-h/pdox_engine.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_8mmjMfoshuY/SCP6T9Tf8nI/AAAAAAAAAD4/_-Qa3VBaKy0/s200/pdox_engine.png" alt="" id="BLOGGER_PHOTO_ID_5198273615696491122" border="0" /></a>thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-13186381688267361672008-04-24T11:30:00.000-07:002008-04-24T11:39:47.782-07:00Blackfish SQL ....Why should a developer choose Blackfish SQL instead of other databases for a Client/Server-Project with Rad-Studio 2007??<br /><br /> <p class="MsoNormal"><span style="" lang="EN-GB">I made yesterday on the <a href="http://entwickler-akademie.de/codecamps/delphi">Delphi CodeCamp </a>in <st1:place st="on"><st1:city st="on">Frankfurt</st1:City>, <st1:country-region st="on">Germany</st1:country-region></st1:place> 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….<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB">Blackfish SQL for the .net-Framework and for the Java platform was introduced with the latest version of <st1:place st="on">Delphi</st1:place> ehm Rad Studio 2007. The developer can think now, well, this is a complete new database with release number 1.0 … <o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB">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” <a href="http://blogs.codegear.com/steveshaughnessy/2007/09/06/38776">http://blogs.codegear.com/steveshaughnessy/2007/09/06/38776</a><o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p> </o:p>This is important to know because everyone has normally problems to use any application or database with the version number 1.0. <o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p></o:p>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:<o:p></o:p></span></p> <ul style="margin-top: 0cm;" type="disc"><li class="MsoNormal" style=""><st1:city st="on"><st1:place st="on"><span style="" lang="EN-GB">Enterprise</span></st1:place></st1:City><span style="" lang="EN-GB"><o:p></o:p></span></li><li class="MsoNormal" style=""><span style="" lang="EN-GB">Standard <o:p></o:p></span></li><li class="MsoNormal" style=""><span style="" lang="EN-GB">Desktop<o:p></o:p></span></li><li class="MsoNormal" style=""><span style="" lang="EN-GB">Embedded<o:p></o:p></span></li></ul> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p> </o:p>And here I see one of the advantages of BF: You can use it in Standard, Desktop and Embedded.</span></p><p class="MsoNormal"><span style="" lang="EN-GB">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 <a href="http://www.nevrona.com/rave">Rave Reports</a> 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!).<br /></span></p><p class="MsoNormal"><span style="" lang="EN-GB"> 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.<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p> </o:p><br />Back to Blackfish SQL…<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p> </o:p><br />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!<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p> </o:p><br />The database is fully SQL-92 compliant with supporting all four isolation levels specified by the ANSI/ISO SQL (SQL/92) standards. <o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p> </o:p><br />OS<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB">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…<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p> </o:p><br />Programming<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p> </o:p><br />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 Delphi.net 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…</span></p><p class="MsoNormal">In one of my next blog's I'll show you some examples of SP and Trigger, created with Delphi.net and running on Blackfish SQL server.</p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p></o:p><br />You can connect with ADO.net2 and dbx4 to the database, meaning from every application in your RAD Studio (Win32, VCL.net, IntraWeb, ASP.net,…).<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p> </o:p><br />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…<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p> </o:p><br />With the <st1:city st="on"><st1:place st="on">Enterprise</st1:place></st1:City> / Architect Version of RAD Studio 2007 you have the following restrictions:<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p> </o:p><br />5 User / 20 connections<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB">2 GB database-size<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB">1 CPU (with unlimited cores)<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p> </o:p><br />With Pro Edition<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB">1 local user / 4 connections<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB">512 MB database-size<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB">1 CPU (with unlimited cores)<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p> </o:p><br />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.<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p></o:p>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:<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p></o:p><a href="http://dn.codegear.com/article/36955">http://dn.codegear.com/article/36955</a><o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><a href="http://blogs.codegear.com/steveshaughnessy/2007/09/06/38776">http://blogs.codegear.com/steveshaughnessy/2007/09/06/38776</a><o:p></o:p></span></p>thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-71039537083132870162008-04-14T23:40:00.000-07:002008-04-14T23:53:21.511-07:00Source beautifier for SQL statementsA 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:<br />SELECT HHJ,<br /> CUSTOMER,<br /> ORDER_ID<br />FROM TABLE<br /><br />On the right side you have some options for formatting.<br /><br />You can format this SQL-Statement for Delphi .....<br /><br />var1 := 'SELECT HHJ,' ;<br />var1 := var1 + ' CUSTOMER,' ;<br />var1 := var1 + ' ORDER_ID' ;<br />var1 := var1 + ' FROM TABLE' ;<br /><br />And other languages... e.g. for C# you can choose between<br />String var1 = "SELECT HHJ," ;<br />var1 = var1 + " CUSTOMER," ;<br />var1 = var1 + " ORDER_ID" ;<br />var1 = var1 + " FROM TABLE" ;<br /><span style="font-style: italic;">and</span><br />StringBuilder var1 = new StringBuilder("SELECT HHJ,");<br />var1.Append(" CUSTOMER,");<br />var1.Append(" ORDER_ID");<br />var1.Append(" FROM TABLE");<b><br /></b><br /><br />I found this very usefull for formatting my SQL-statement to read it sometimes later better..<br /><br />Here you'll find the <a href="http://www.orafaq.com/cgi-bin/sqlformat/pp/utilities/sqlformatter.tpl">Online SQL and PL/SQL Formatter</a>thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-84166867303553223042008-04-13T22:42:00.001-07:002008-04-13T22:49:42.496-07:00Rave BE and Windows VistaI 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.<br /><br />Rave Version 8 (it should be available in the next few days!) works with Vista, of course.<br />Rave BE and BEX < 8 works with Vista, too<br /><br />If you have problems try the following:<br /><br />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".<br /><br /><ol><li>Go to Program Files directory where you install the CodeGear / Borland product Program File\CodeGear\RAD Studio\5.0</li><li>Highlight RaveReports</li><li>Right Click on RaveReports and Open properties</li><li>Click the Security Tab</li><li>Select your own user name from the list displayed</li><li>Click the Edit button</li><li>Select your own uses name again</li><li>Go to the "Permissions for Users" dialogue box</li><li>Click the 'Full Control' Allow box</li><li>Click Apply</li><li>accept all the prompts</li></ol>In my next post I'll explain the steps for Rave Reports BEX (Borland Edition eXtended) versions 7 or earlier.thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-54973807477061523362008-04-11T04:50:00.000-07:002008-04-11T04:54:08.485-07:00Thomas Pfister: A huge thank you to Bruno Fierens and TMS Software!<span style="font-style: italic;">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.</span><br /><br />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.<br />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.<br /><br />I've noticed all the blogging and, please, <span style="font-size:130%;"><span style="font-weight: bold;">Cool down!!</span></span><br />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".thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-72229521944322421802008-03-30T10:41:00.000-07:002008-03-30T11:00:59.255-07:00Delphi Code Camp in April in Frankfurt<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_8mmjMfoshuY/R-_SmsZGQeI/AAAAAAAAAC4/MGyi3lOcAKY/s1600-h/Delphi+banner_336x250.gif"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_8mmjMfoshuY/R-_SmsZGQeI/AAAAAAAAAC4/MGyi3lOcAKY/s320/Delphi+banner_336x250.gif" alt="" id="BLOGGER_PHOTO_ID_5183593258320019938" border="0" /></a><br />In April is the next <a href="http://entwickler-akademie.de/codecamps/delphi">Delphi Code Camp</a> here in Germany, organized by the <a href="http://www.entwickler-akademie.de">Entwickler-Akademie</a>.<br />On the last Code Camp in December 07 in Munich I talked about <a href="http://www.nevrona.com/rave">Rave Reports</a> 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 <a href="http://www.codegear.com/products/blackfish">Blackfish SQL</a>, 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.<br /><br />Beside my database-dayon the other days are sessions about Delphi and Vista, Delphi and multithreading and the VCL for the Web.<br /><br />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!<br />btw: the sessions will be in German.thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-32592375149632981692008-02-29T12:46:00.000-08:002008-02-29T22:41:58.993-08:00Blackfish SQL and InterBase from CodeGearI attend on the <a href="http://www.entwickler-konferenz.de/">EKON12-spring conference</a> this week, like every year. <span style="" lang="EN-GB">One of my sessions covered about <a href="http://www.codegear.com/products/blackfish">Blackfish SQL</a>, the new database from CodeGear. </span><span style="" lang="EN-GB">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.<o:p></o:p></span><p class="MsoNormal"><span style="" lang="EN-GB">I’ll try to explain it in this blog.<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB">First: <a href="http://www.codegear.com/products/interbase">InterBase</a> isn’t deprecated! The InterBase-Team works in <st1:place st="on"><st1:placename st="on">Scotts</st1:placename> <st1:placename st="on">Valley</st1:placename></st1:place> on this unmanaged database for the OS Windows, Linux and Solaris (Sparc). <o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB">Second: Blackfish SQL is a database for the both frameworks, .net from Microsoft and Java from Sun. <o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-GB">secret <span style="font-style: italic; font-weight: bold;">It’s not really new, it’s IMO version 8 of JDataStore and this mean you will get a very stable and optimized database!</span> /secret</span></p> <p class="MsoNormal"><span style="" lang="EN-GB"><o:p> </o:p><br />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 VCL.net or ASP.net-developer with an ADO.net provider interesting. This isn’t correct.</span></p><p class="MsoNormal">Codegear of published an interesting <a href="http://www.codegear.com/article/36903/images/36903/Blackfish%20SQL%20FAQ.pdf">article </a>(FAQ) about Blackfish SQL.<br /></p>Blackfish SQL for .net is ideally suited for<br /><p class="MsoNormal">• ASP.net data storage<br />• embedded .net application<br />• Delphi application (Win32 and VCL.net)<br /></p><p class="MsoNormal">Blackfish SQL for java is ideally suited for<br />• Java data storage,<br />• Embedded Java Swint/SWT apps,<br />• Java application<br /></p><p class="MsoNormal">InterBase 2007<br />• Workgroup to Small Enterprise Databaseapplications<br />• Embedded Apps<br /><br />OS / Framework<br /><br />Blackfish SQL for .net<br /></p><ul><li>.net framework (at the moment not for the CF.net available but I expect a version for this)</li></ul><p class="MsoNormal">Blackfish SQL for Java<br /></p><ul><li>Java Framework from a big server to a cellphone with JavaVM</li></ul><p class="MsoNormal">InterBase 2007<br /></p><ul><li>Windows, Linux, Solaris (Sparc) and, new(!), MacOS X</li></ul><p class="MsoNormal"><br />Programming<br /><br />Blackfish SQL for .net<br /></p><ul><li>Delphi 2007 (Package.net for .net2 Framework); and C#/VB.net</li></ul><p class="MsoNormal">Blackfish SQL for Java<br /></p><ul><li>JBuilder and other Java-IDEs </li></ul><p class="MsoNormal">InterBase 2007<br /></p><ul><li>SQL</li></ul><p class="MsoNormal"><br /><span style="font-weight: bold;">Case IDE of</span> (<span style="font-style: italic;font-size:85%;" >in my Blog I can use the Case with strings… I miss it in Delphi!</span><span style="font-style: italic;font-size:85%;" > <a href="http://blogs.codegear.com/nickhodges/">Nick</a>, I would buy a big bavarian beer for this feature :-)</span> )<br /></p><ul><li>Delphi for PHP -> InterBase 2007</li></ul><ul><li>3rd Rail / Ruby -> InterBase 2007</li></ul><ul><li>RAD Studio 2007 </li></ul><p class="MsoNormal"> Asp.net / VCL.net -> Blackfish SQL for .net or InterBase 2007<br /> Win32 -> Blackfish SQL for .net or InterBase 2007<br /></p><ul><li>JBuilder -> Blackfish SQL for Java or InterBase</li></ul><span style="font-weight: bold;">End;</span><br /><p class="MsoNormal"><br />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!</p><p class="MsoNormal">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.<br /></p> <p class="MsoNormal">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 )</p>Stay tuned.<br /><p class="MsoNormal">In April I make in Germany a <a href="http://entwickler-akademie.de/codecamps/delphi">one-day-training</a> with the content “dbx4 (2/3 of the day) and Blackfish SQL for .net (1/3 of the day) @Entwickler-Akademie near Frankfurt.<span style="" lang="EN-GB"></span></p>thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-59100786887644541052008-02-21T14:30:00.000-08:002008-02-21T14:40:27.878-08:00Nevrona have announced Rave 8 today!Nevrona Designs have announced today the Rave 8 version! <a href="http://www.nevrona.com/Default.aspx?tabid=28">NEWS</a><br /><br />And they've sent a email to all registered RAVE BEX users, see later the text of the email.<br /><br />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.<br />A first-step-article about Rave-Server you'll find <a href="http://www.nevrona.com/Default.aspx?tabid=179">here</a> (about V5, I'll update the article asap <g>).<br /><br /><br />__________________________________________________________________<br /><br />Rave Reports 8.0 Announced<br />==============================<br /><div style="direction: ltr;"> We're happy to announce the release of Rave Reports 8.0 in March, 2008.<br /><br />Rave Reports 8.0 will be available in 2 new flavors, Developer and<br />Architect.<br /><br />Both Developer and Architect will include the Win32 and <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://vcl.net/" target="_blank">VCL.NET</a> components<br />and will support Delphi 4, 5, 6, 7, C++Builder 4, 5 & 6, BDS 2005, 2006 and<br />RAD Studio 2007.<br /><br />Rave Reports Architect will further include a license to ship an end user<br />version of the Rave Reports visual designer with your applications (EUDL)<br />and an unlimited user version of the Rave Reports Server.<br /><br />Between now and the release of Rave Reports 8.0, we are offering significant<br />discounts on pre-order upgrades to all current owners of Rave Reports.<br /><br />The pre-order prices are as follows:<br /><br /> Rave Reports Developer 8.0: $99 (lists for $299)<br /> Rave Reports Architect 8.0: $199 (lists for $599)<br /><br />Pre-orders can be placed by visiting <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.nevrona.com/order" target="_blank">http://www.nevrona.com/order</a><br /><br />These discounts are our way of thanking our loyal customers who have<br /><script><!-- D(["mb","\nsupported Nevrona Designs for the 13 years we have been in the Borland and\u003cbr /\u003e\nCodeGear markets. \u0026nbsp;If you are still using an older version of Rave Reports\u003cbr /\u003e\nthis is a great opportunity to upgrade to the latest and greatest features\u003cbr /\u003e\nand functionality.\u003cbr /\u003e\n\u003cbr /\u003e\n\u003cbr /\u003e\nNevrona Designs Unicode policy\u003cbr /\u003e\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003cbr /\u003e\nIn line with CodeGear\'s recent announcement of Unicode support\u003cbr /\u003e\n\u003ca onclick\u003d\"return top.js.OpenExtLink(window,event,this)\" href\u003d\"http://blogs.codegear.com/abauer/category/codegear\" target\u003d_blank\u003ehttp://blogs.codegear.com\u003cwbr /\u003e/abauer/category/codegear\u003c/a\u003e, Nevrona Designs is\u003cbr /\u003e\nannouncing our intention to fully support Unicode as soon as the technology\u003cbr /\u003e\nis released by CodeGear.\u003cbr /\u003e\n\u003cbr /\u003e\nNevrona Designs has a long history of quickly supporting new technologies\u003cbr /\u003e\nwith Rave Reports as they have been released by CodeGear (and previously\u003cbr /\u003e\nBorland). \u0026nbsp;We are quite excited about the impact Unicode support will have\u003cbr /\u003e\non Rave Reports and our support for many new languages and applications\u003cbr /\u003e\naround the world.\u003cbr /\u003e\n\u003cbr /\u003e\nThanks for your support!\u003cbr /\u003e\n\u003cbr /\u003e\n______________________________\u003cwbr /\u003e_______\u003cbr /\u003e\nNevrona Designs - \u003ca onclick\u003d\"return top.js.OpenExtLink(window,event,this)\" href\u003d\"http://www.nevrona.com\" target\u003d_blank\u003ehttp://www.nevrona.com\u003c/a\u003e\u003cbr /\u003e\n1-888-776-4765 (Toll Free in U.S. and Canada)\u003cbr /\u003e\n1-480-491-5492 (U.S.)\u003cbr /\u003e\n\u003ca onclick\u003d\"return top.js.OpenExtLink(window,event,this)\" href\u003d\"mailto:sales@nevrona.com\"\u003esales@nevrona.com\u003c/a\u003e\u003cbr /\u003e\n\u003cbr /\u003e\n******************************\u003cwbr /\u003e**********************\u003cbr /\u003e\nNevrona Designs values your online privacy. \u0026nbsp;You are\u003cbr /\u003e\nreceiving this e-mail because you have purchased\u003cbr /\u003e\nproducts from Nevrona Designs or have subscribed to\u003cbr /\u003e\nthis list. \u0026nbsp;To change your options or unsubscribe\u003cbr /\u003e\nplease visit \u003ca onclick\u003d\"return top.js.OpenExtLink(window,event,this)\" href\u003d\"http://www.nevrona.com/lists\" target\u003d_blank\u003ehttp://www.nevrona.com/lists\u003c/a\u003e using\u003cbr /\u003e\nthe e-mail account \u003ca onclick\u003d\"return top.js.OpenExtLink(window,event,this)\" href\u003d\"mailto:thomas@pfister-online.de\"\u003ethomas@pfister-online.de\u003c/a\u003e.\u003cbr /\u003e\n\u003cbr /\u003e\n\u003c/div\u003e",0] ); //--></script> supported Nevrona Designs for the 13 years we have been in the Borland and<br />CodeGear markets. If you are still using an older version of Rave Reports<br />this is a great opportunity to upgrade to the latest and greatest features<br />and functionality.<br /><br /><br />Nevrona Designs Unicode policy<br />==============================<br />In line with CodeGear's recent announcement of Unicode support<br /><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://blogs.codegear.com/abauer/category/codegear" target="_blank">http://blogs.codegear.com<wbr>/abauer/category/codegear</a>, Nevrona Designs is<br />announcing our intention to fully support Unicode as soon as the technology<br />is released by CodeGear.<br /><br />Nevrona Designs has a long history of quickly supporting new technologies<br />with Rave Reports as they have been released by CodeGear (and previously<br />Borland). We are quite excited about the impact Unicode support will have<br />on Rave Reports and our support for many new languages and applications<br />around the world.<br /><br />Thanks for your support!<br /><br />______________________________<wbr>_______<br />Nevrona Designs - <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.nevrona.com/" target="_blank">http://www.nevrona.com</a><br />1-888-776-4765 (Toll Free in U.S. and Canada)<br />1-480-491-5492 (U.S.)<br /><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:sales@nevrona.com">sales@nevrona.com</a><br /></div>thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-88258630532150938172008-02-21T14:11:00.000-08:002008-02-21T14:20:51.539-08:00Last Call for EKON SPRING next week Like on the airport: This is the last call for <a href="http://www.entwickler-konferenz.de">EKON SPRING</a> ....<br /><br />I hope to see a lot of delphi developers on the first <span style="font-style: italic;">spring edition</span> 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.<br /><br />I've finished my slides today on the ICE for my session about the database "<a href="http://www.codegear.com/products/blackfish">BlackfishSQL</a>" and beside this topic I'll talk about Rave and the "Oracle of Delphi" (this slides are ready, too).thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-51802228961055892592008-01-27T11:14:00.000-08:002008-01-27T11:25:08.418-08:00Check for a valid printer on the systemToday 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 <g>), works on my system fine. On the WinXP on the customer-side it works, too.<br />The solution was easy, after I noticed that they haven't installed any printer-driver on the system:<br /><br />include RpDevice in the uses and then you can check before the rave executes the existence of any printer:<br /><br /><span style="font-family: courier new;">if RpDev.InvalidPrinter then </span><br /><span style="font-family: courier new;">showmessage('no printer'); -> and you should disable the execute of RvProject in the application</span><br /><br />The older way with printers count can make trouble with network printers and isn't recommended (RPDev.Printers.Count).<br /><br />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....thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-17302890123283546792008-01-14T13:16:00.000-08:002008-01-14T13:25:46.369-08:00Reader's Choice 2008From the german "<a href="http://entwickler-magazin.de/">entwickler magazin</a>" is a new <a href="http://entwickler-magazin.de/zonen/magazine/psecom,id,47,nodeid,17,p,0.html">Reader's Choice 2008</a> available, this remembers me on the"Delphi Informant" Readers Choice a long time ago ....(with TurboPower and so on)<br /><br />Make your choice (if you work with Rave, make sure, that you check Nevrona Rave Reports for the best reporting tool <g>) and perhaps you'll win RAD Studio 2007, a ticket for the spring editon of <a href="http://entwickler-konferenz.de">EKON</a> in February in Frankfurt or interesting (german) books....thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-79799828311202842492008-01-08T03:25:00.000-08:002008-01-08T03:37:56.255-08:00Rave and delphipraxis.netDaniel, the adminstrator of the german delphi forum <a href="http://www.delphipraxis.net">delphipraxis</a> have published some informations about statistiscs of the forum after more then 5 years (<span style="font-style: italic;">congrat Daniel for this friendly an helpfull place in the internet-world for every delphi-developer</span>; and, yeah, I'm member #488 of this community since <span class="tcBN11">"5 Jahre, 3 Wochen, 3 Tage")</span><br /><br />Especially interesting is the in the 2nd post the search-word "Rave": <a href="http://www.delphipraxis.net/topic125650_danke+fuer+ueber+5+erfolgreiche+jahre.html&highlight=rave">11</a> !<br /><a href="http://www.delphipraxis.net/topic125650_danke+fuer+ueber+5+erfolgreiche+jahre.html&highlight=rave" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"></a><br /><span style="font-family: courier new;"># Begriff Häufigkeit </span><br /><span style="font-family: courier new;"> 1 delphi 31.801 </span><br /><span style="font-family: courier new;"> 2 string 27.290 </span><br /><span style="font-family: courier new;"> 3 datei 26.631 </span><br /><span style="font-family: courier new;"> 4 </span><acronym style="font-family: courier new;" title="Dynamic Linked Library">dll</acronym><span style="font-family: courier new;"> 22.553 </span><br /><span style="font-family: courier new;"> 5 </span><acronym style="font-family: courier new;" title="Internet-Direct Komponenten von Chad Kudzu und Nevrona">indy</acronym><span style="font-family: courier new;"> 18.343 </span><br /><span style="font-family: courier new;"> 6 stringgrid 17.215 </span><br /><span style="font-family: courier new;"> 7 listview 16.497 </span><br /><span style="font-family: courier new;"> 8 array 16.260 </span><br /><span style="font-family: courier new;"> 9 programm 15.410 </span><br /><span style="font-family: courier new;"> 10 form 15.189 </span><br /><span style="font-family: courier new;"> 11 </span><span style="background-color: rgb(255, 255, 0); font-family: courier new;"><b>rave</b></span><span style="font-family: courier new;"> 13.595 </span><br /><span style="font-family: courier new;"> 12 listbox 13.292 </span><br /><span style="font-family: courier new;"> 13 dbgrid 12.568 </span><br /><span style="font-family: courier new;"> 14 text 12.497 </span><br /><span style="font-family: courier new;"> 15 löschen 11.949 </span><br /><span style="font-family: courier new;"> 16 </span><acronym style="font-family: courier new;" title="Structured Query Language (Sprache zur Erstellung von Datenbankabfragen)">sql</acronym><span style="font-family: courier new;"> 11.535 </span><br /><span style="font-family: courier new;"> 17 </span><acronym style="font-family: courier new;" title="eXtensible Markup Language - Textbasiertes Dateiformat zur system-unabhängigen Sicherung von Daten">xml</acronym><span style="font-family: courier new;"> 11.408 </span><br /><span style="font-family: courier new;"> 18 </span><acronym style="font-family: courier new;" title="Uniform Resource Locator">url</acronym><span style="font-family: courier new;"> 11.401 </span><br /><span style="font-family: courier new;"> 19 auslesen 11.256 </span><br />.........<br /><br />If you search for Rave-related problems, questions and solutions ....<br />look into the <a href="http://www.delphipraxis.net">delphipraxis</a> (if you have problems with german <a href="http://translate.google.com">translate</a> with google)thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-1663302522095149932008-01-08T03:21:00.000-08:002008-01-08T03:25:00.540-08:00Rave Reports and problems with (HP) printer drivers...<p class="MsoNormal"><span style="" lang="EN-US">I read sometimes in newsgroups about problems with Rave and printer drivers, especially HP, e.g. 2600.<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-US">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 <span style="font-style: italic;">sometimes</span> solves the problem but not 100%.<br /><br />With the following solution is a workaround available that create the reports without exceptions.<br /></span></p><p class="MsoNormal"><span style="" lang="EN-US">Try this and if you found another problem (or solution, of course <g>) in this area, write me an email.<br /></span></p><p class="MsoNormal"><span style="" lang="EN-US"> Some programming libraries (and perhaps MS-Office?!) contain such procedure <o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-US">call: Set8087CW($133f);<br />this disables FPU exceptions....<br /><br />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.<br /><br />The default value of Default8087CW is $1332, with the following code you can check it in your pascal-code.<br /><br /> If (Get8087CW and $1F3F) <> $1332)<br /> then ShowMessage(Format('CW=$%4.4x'<wbr>,[Get8087CW]));<br /><br />To make your rave-reporting with "every" driver stable, the following code should work;<br /><br />var<br /> CW: Word;<br />begin<br /> CW := Get8087CW;<br /> try<br /> Set8087CW($133f);<br /> RvProject1.ExecuteReport('Report1');<br /> Set8087CW(CW);<br /> except<br /> ..<br /> end;<br />end;<br /><br />or the asm-way <script> <!-- D(["mb","\u003cbr\> \u003cbr\> asm\u003cbr\> FLDCW cw\u003cbr\> end; \u003cbr\>\u003cbr\>with C++ the workaround should be the secureFPU (Trevor or Eldon, you're C++-expert, is this correct ?)\u003cbr\>\u003cbr\>#include "float.h"; \u003cbr\> void secureFpu() { _control87(PC_64|MCW_EM,MCW_PC\u003cWBR\>|MCW_EM);}\n\u003cbr\>\u003cbr\>Another trick especially for HP-printer driver is setting the SkipAbortProc to true:\u003cbr\>RPDev.SkipAbortProc :\u003d true;\u003cbr\>\u003cbr\>\u003cbr\>Now your customer can print with Rave and don't get an exception.... \u003cbr\>\u003cbr\>\n",0] ); D(["ce"]); //--> </script><br /><br /> asm<br /> FLDCW cw<br /> end; <br /><br />with C++ the workaround should be the secureFPU (I’m not the C++-expert, I hope this is correct !?)<br /><br />#include "float.h";<br /> void secureFpu() { _control87(PC_64|MCW_EM,MCW_PC<wbr>|MCW_EM);}<br /><br />Another trick especially for HP-printer driver is setting in the application the SkipAbortProc to true:<br />RPDev.SkipAbortProc := true;<br />(you must insert the RpDevice-unit)<o:p></o:p></span></p> <p class="MsoNormal"><span style="" lang="EN-US">Now your customer can print with Rave and don't get an exception....</span></p>thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-84250347804206926572007-12-09T23:48:00.000-08:002007-12-10T01:59:13.891-08:00Use of Printers/Trays/Papers with RaveToday 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!).<br /><br />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 ...<br /><br />Of course, you can use function like the following to read out the tray from you printer-driver and develop a solution<br />....<br />GetPrinter(ADevice,ADriver,APort,hDMode);<br />pDevMode := nil;<br />Res := DeviceCapabilities(ADevice,APort,DC_BINNAMES,PCHAR(@(bin[0][0])),pDevMode);<br />....<br /><br />But there is an easier way with Rave.<br />Nevrona Designs have built a "Printer device manager class" called RpDevice.<br />Insert RpDevice in your uses and then you can work with RpDev.<br />This function return the current RPDevice object for manage the printer in your app.<br /><br />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.<br /><br />RpDev.Device shows the (selected) printer and RpDev.Printers shows the installed printers on the system.<br />RpDev.Bins read the installed trays for the selected printer.<br />RpDev.Papers for the papers (from the driver)<br /><br />I use Duplex-Mode where ever I can...<br />With RpDev.SupportDuplex exits an easy way to check if the printer(driver) support duplex or not...<br /><br />The previous commands only read informations, with RpDev.Select... you can define the destination printer, tray, paper and more<br /><br />RpDev.SelectPrinter(ComboBox1.Text, true);<br /><br />To save properties on the printer in the OS you can use RpDev.SaveToPrinter;<br /><br />Before you execute a report you should define all the things in your code and the result is as expected <g>.<br /><br />In the RpDev-class you'll find many more and I hope I've opened the door to the possibilities!thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-61764816183345005212007-11-13T06:21:00.001-08:002007-11-13T06:57:48.073-08:00A 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 <a href="http://www.codegear.com/">RAD Studio 2007</a> a SCSI-Ultra-320 solution with two 15k-harddrives and for the Windows 2003-Server a Firewire-800-system; it works under <a href="http://www.vmware.com/">VMWare</a> 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..<br />And today I received the info hat there is till tomorrow another player in the virtual-world (not the 2nd-life <g>): <a href="http://www.oracle.com/">Oracle</a> ....<br /><a href="http://www.oracle.com/technologies/virtualization/index.html">Oracle VM</a> is "is <span style="font-weight: bold;">three times more efficient</span> than other server virtualization products", wooow this is a big promise.... and:<br />"Oracle VM software is available for free download."<br /><br />There are some interestings things of Oracle VM in the doc's:<br />"System Requirements<br />Oracle VM installs directly on server hardware and does not require a host operating system."<br />this means no guest-os-layer....<br /><br />from the FAQ:<br />Who can use Oracle VM?<br />Any user can get Oracle VM and associated support from Oracle whether they use Oracle products or third party applications.<br /><br />I wonder about the first impressions of this virtual-solution in the next days on my workstation....<br />Oracle VM can be freely downloaded starting Wednesday, November 14, 2007 at <a href="http://www.oracle.com/virtualization">oracle.com</a><br /><br /><br /></g>thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-36589815822956716062007-11-06T10:51:00.000-08:002007-11-06T11:00:22.760-08:00Namespaces and Types of the .net framework 3.5I'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.<br /><br />Today I noticed that there is a new poster from Microsoft.com about the namespaces and types in .net 3.5 (actually 2.x <g>) here available:<br /><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7b645f3a-6d22-4548-a0d8-c2a27e1917f8&displaylang=en">.net-Namespace-pdf-file</a><br /><br />-> 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.thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-7435746703915936242007-11-02T03:57:00.000-07:002007-11-02T04:08:15.482-07:00F# in the next VisualStudio release ??In the <a href="http://blogs.msdn.com/somasegar/archive/2007/10/17/f-a-functional-programming-language.aspx">Blog</a> from Soma Somasegar, Corporate Vice President der Developer Division of Microsoft he thought about including the language <a href="http://research.microsoft.com/fsharp/fsharp.aspx">F#</a> in one of the next Visual Studio release....<br /><br />F# is a functional programming language, objectoriented and high performanced for a scripting language....<br /><br /><strong><span style="font-weight: normal;"></span></strong>thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-37151729450459601882007-10-29T06:43:00.000-07:002007-10-29T07:06:58.161-07:00Delphi Code Camp on Tour<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://thomas.pfister.googlepages.com/codecamp__banner_300x200.gif"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://thomas.pfister.googlepages.com/codecamp__banner_300x200.gif" alt="" border="0" /></a>After <a href="http://www.gumpi.com/blog">Daniel</a> and <a href="http://blogs.atozed.com/Olaf">Olaf</a> I'll announce the <a href="http://entwickler-akademie.de/ak/psecom,id,36.html">Delphi Code Camp</a>, too.<br />We'll cover Vista, VCL for the web and Reporting with RAD Studio 2007.<br /><br />The <span style="font-size:130%;"><span style="font-weight: bold;">Reporting with Rave</span></span> is my part of this CodeCamp.<br /><br />On Tuesday, 04. December 2007 I will talk, show and discuss about <a href="http://entwickler-akademie.de/ak/psecom,id,38.html">Rave Reporting and Delphi / C++Builder 2007</a>. We'll make a lot of practice and use RAD Studio 2007, Rave 7 (BE and BEX), InterBase2007 and the new database BlackfishSQL.net from (both with dbx4) CodeGear. We'll create reports in Win32 and VCL.net.<br /><br />The language on this stop of the DCConTour will be German, d.h. ich werde ab hier in deutscher Sprache fortfahren:<br /><br />Wir werden Rave Reports 7 intensiv kennenlernen und insbesondere die Architektur und effiziente Nutzung dieser Reportengine an diesem Tage ausführlich behandeln.<br />Insbesondere kommen die Möglichkeiten von band- und seitenorientierten Reports, GlobalPages, DataMirrorSection, PDF-Erstellung, Rave Scripting und RaveServer 7 zur Sprache.<br />Mehr zu den Themen im CodeCamp <a href="http://entwickler-akademie.de/ak/psecom,id,38.html">hier</a>.<br /><br />Auch Entwickler von älteren Delphi bzw. Rave-Versionen können einen Großteil dieses KnowHow-Transfer für ihre tägliche Arbeit nutzen.<br /><br />Obwohl jedes der 3 Seminare auch einzeln gebucht werden kann, sollte man sich bei diesen drei interessanten Themen für alle drei Tage anmelden!thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-91105405339228940252007-10-24T08:42:00.000-07:002007-10-24T08:51:56.482-07:00Rave AddOns for Rave 7.5x BEOn the <a href="http://www.nevrona.com/Default.aspx?tabid=152">AddOn-Page</a> from Nevrona.com are some AddOn for Rave, e.g. JPEG, GridBox, GreenBar Rectangle.<br /><br />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).<br /><br />I hope every Rave-User have looked into the <span style="font-style: italic;">GreenBar Rectangle-component</span>.. 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 <g>).thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-85918425100923155332007-10-24T08:23:00.000-07:002007-10-24T08:42:05.157-07:00Delphi 7 and the Rave 5 BE PatchI 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....<br />Then I go to the <a href="http://www.codegear.com/downloads/regusers/delphi">CodeGear-page</a> again, and yeah, it's tricky to found on the first vist.<br />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.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_8mmjMfoshuY/Rx9lJmoeO0I/AAAAAAAAABE/RExUFzNXNVI/s1600-h/rave_508_BE.JPG"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp1.blogger.com/_8mmjMfoshuY/Rx9lJmoeO0I/AAAAAAAAABE/RExUFzNXNVI/s320/rave_508_BE.JPG" alt="" id="BLOGGER_PHOTO_ID_5124926116634442562" border="0" /></a><br />Sometimes I'm surprised about questions for the 5.0.8 patch because Delphi 7 and Rave 5 are in the meantime very old...<br />But a lot of developers use the old IDE successfully...<br />If you are a Delphi 5-7 developer: look into the 2007-version of Delphi, this is a fast, stable and very powerful IDE.<br />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!<br />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 <a href="http://www.nevrona.com/rave">Nevrona-page</a> for the new features of Rave7. I like especially the new JPG-Render and the improved and stable Rave Scripting in Rave7.<br /><br />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.....thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.comtag:blogger.com,1999:blog-4304420502887124780.post-20784324455058471972007-10-19T07:56:00.001-07:002007-10-19T08:29:48.950-07:00Oracle 11g - 1st impressionI've installed the newest version of Oracle Database 11g (11.1.0.6.0) on a vmware-system and searched for new things for developers.<br /><br />First thing is that Oracle now checks upper- and lowercase passwords..<br />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 <g><br /><br />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.<br /><br />Really new is IMO the <span style="font-weight: bold;">Database Resident Connection Pooling</span>. 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).<br />An interesting feature especially for <a href="http://www.oracle.com/technology/tech/scripting-languages/index.html">Ruby</a> or <a href="http://www.oracle.com/technology/tech/php/index.html">PHP</a>-developers, perhaps with <a href="http://www.codegear.com/products/delphi/php">Delphi.PHP</a> or <a href="http://www.codegear.com/products/3rdrail/">3rd Rails</a> from CodeGear.<br /><br /><br />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:<br /><span style="font-family:courier new;"><br />Select SCHEMA_NAME.SEQ_T_EMP.NextVal into (a declared variable) xyz from dual;</span><br /><br />with 11g you can minimize the coding in<br /><span style="font-family:courier new;"><br />xyz := SCHEMA_NAME.SEQ_T_EMP.NextVal;<br /><br /></span>Why have this simle way Oracle not earlier integrated, perhaps to simple for the developers in Redwood Shores ?!<br /><br />I wonder about the publishing dates of a Oracle 11g <a href="http://www.oracle.com/technology/software/products/database/xe/index.html">XE Edition</a> and the 11g-Edition for Windows and Solars/Sparc.<br /><a href="http://www.codegear.de/">CodeGear</a> 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). </g><a href="javascript:void(0)" tabindex="10" onclick="return false;"><span></span></a><br /><g>I think we'll see in the next time a dbx-driver that supports 11g offiicial.<br /></g>thomas pfisterhttp://www.blogger.com/profile/14550619600538784486noreply@blogger.com