QuickReport 2.0
Frequently asked Questions and Answers
Copyright 1997 Qusoft AS
Visit our web site at http://www.qusoft.com
Faq revision 1.2

Table of contents:
------------------
Part 1 - Ordering and Licensing, general questions
Part 2 - Downloading
Part 3 - Technical Questions
part 4 - Version list, bug fixes and comments

Part 1 - Ordering and Licensing
-------------------------------

Q: When will QuickReport 2 be available?
A: QuickReport 2.0a is available for download from our web site at http://www.qusoft.com

Q: How much does QuickReport 2 cost?
A: A single license costs $99. A site license costs $800.

Q: How many licenses do I need?
A: You need one license for each developer who should be using QuickReport, just
   as with Delphi itself. If you are many developers in your company it might be 
   more echonomical to buy a site license.

Q: I own QuickReport 1 - can I get a special upgrade price?
A: Owners of the 16 bit QuickReport 1 with source code can upgrade to QuickReport 2 
   for $59

Q: I own Delphi 2 - can I freely upgrade to QuickReport 2 or do I have to pay an upgrade fee?
A: Delphi 2.0 users have to buy a regular license to use QuickReport 2.0. The price is US$ 99.
   For full ordering details see http://www.qusoft.no/license

Q: I have Delphi 2 - can I upgrade to QuickReport 2 for $59?
A: No, the $59 upgrade price is only available for owners of the registered 16 bit 
   version of QuickReport

Q: Will QuickReport 2 be included with Delphi 3?
A: Delphi 3 will include a limited version of QuickReport 2. Users who want all the features
   need to buy QuickReport from QuSoft.

Q: Can I upgrade through CompuServe SWREG?
A: Yes, use SWREG# 14210 to upgrade from QuickReport 1 to QuickReport 2. Note that this is
   only valid for owners of the registered 16 bit QuickReport 1

Q: Can I order QuickReport 2 through CompuServe SWREG?
A: Yes, use SWREG# 8644 to order QuickReport.

Q: We are a software distributor and want to sell QuickReport. Do we get a discount?
A: To get information on distributing QuickReport please send a request to sales@qusoft.no

Q: Do each of the end users of my application need a QuickReport license?
A: No, you don't have to pay any royalties when using QuickReport in your applications.

Q: Is there an evaluation version available?
A: An evaluation version of QuickReport 2 will be made available March 3rd.

Q: I cannot find any info on upgrading from QR 1 to QR 2 in the doc. Where is it?
A: This information will be included in a updated documentation released March 3rd.

Q: I didn't receive an answer to the bug I submitted. Why not?
A: We read all the incoming mail and file all bug notifications. The bug will be fixed
   in an upcoming release.

Q: I work for a school/university/other educational institution. Do I get a discount?
A: Yes, educational intitutions get a 50% discount on the full price. There is no
   'educational upgrade' price.

Q: Where can I get more information and eventually order QuickReport?
A: From our web site at http://www.qusoft.com/license or by faxing a request to
   us at +47 22 41 74 91

Part 2 - Downloading 
--------------------

Q: I get a timeout when I try to download from your web site. What's the problem?
A: The most common cause for this is that your machine is protected from the internet by
   a proxy server or some other kind of firewall which is blocking the file transfer. 
   If you cannot get a file please send an email to sales@qusoft.no with the subject
   REQUEST <filename>. Remember to include your full name if you request a file only available
   for registered users. The file will be sent you by e-mail.

Q: Your web site seems very slow. Why can't you get a faster connection?
A: www.qusoft.com is connected to the internet with a permanent 10Mbit connection and we can't 
   get any faster than that. The bottlenech is most likely not our line or server but some
   other part of the internet might be crowded at the moment you try to download.

Part 3 - Technial questions
===========================

Q: I cannot get the summary function to work? What's wrong?
A: Most likely you have forgot to set the Master property. Master should be pointed to
   the QuickRep or QRSubDetail component you want to base the aggregation upon.

Q: I want to sum several fields and then sum those sums - how do I do this?
A: Just create a entire new sum expression, adding all the fields together:
   QRExpr1.Expression := Sum(Field1)
   QRExpr2.Expression := Sum(Field2)
   QRExpr3.Expression := SUM(Field1 + Field2)

Q: I get a GPF/Runtime error when using expressions in the 16 bit QuickReport 2. Why?
A: You must increase your stack size. Select Options | Project | Linker and set the
   stack size to around 48Kb (49152 bytes).

Q: Why is there no TQRDBMemo component?
A: TQRDBMemo is redunant. TQRDBText will print memo fields just as fine - better than in
   QuickReport 1

Q: How can I add more than one table in the end user designer?
A: The end user designer doesn't support more than one table or query at a time. More 
   functionallity will be added later.

Q: Is there a RTF export filter for QuickReport?
A: Currently not, this will be added later

Q: In QuickReport 1 all components was connected to a DataSource, now they are 
   connected to a DataSet. The other solution made it much easier to switch between
   different tables. Why did you change this? Is there a way around?
A: This change was done to improve speed, code size and to make QuickReport more 
   stable. To switch between different tables/queries it's easiest to use
   the TQRExpr component to display field data. TQRExpr will pick up the field from 
   any dataset connected to the report, regardless of its name. Then simply change
   the QuickRep.DataSet property.

Q: Is there any special trick to improve performance?
A: Most important - add persistent field objects for your tables. To do this
   double click on the table/query component - select add and add any fields used
   in a report. This will improve the speed of how QuickReport can access the 
   field data.
   Create expressions with as few functions as possible. Instead of doing
   Sum(Field1) + Sum(Field2) you should do Sum(Field1 + Field2). The last one is
   a lot faster.

Q: Does QuickReport 2 work with Borland C++Builder?
A: There is a special edition of QuickReport 2 for C++Builder. The price is still $99

Q: Can I use TeeChart with QuickReport 2?
A: There is a new release of TeeChart coming out which is QuickReport 2 compatible. 
   Please contact TeeMach for an updated version.

Q: Can I use <some QR 1 addon> with QuickReport 2?
A: QuickReport 1 add on components needs to be slightly modified to work with
   QuickReport 2. Contact the author of your component for an update.

Q: Where is the LinkBand property from QuickReport 1?
A: LinkBand is temporarily removed but will do a strong reappearance in a upcoming
   release.

Q: Can I print any standard Delphi control? 
A: No, a control has do be descending from TQRPrintable to be printed on a QuickReport.

Q: The expressions only pick up field values from datasets referenced in my reports.
   How can I use additional datasets in expressions?
A: In the QuickRep.BeforePrint event you can add additional datasets to the QuickRep.AllDataSets
   list property: MyReport.AllDataSets.Add(SomeOtherTable). You can now use fields from this (these)
   tables in your expressions.

Q: I set AlignToBottom to True and use a stretching memo field. The result is not what
   I expected. Why not?
A: Stretching memos are not supported in page footers. A band with AlignToBottom set to True
   acts like a page footer and does therefor not allow a stretching (memo)component.

Part 4 - Version list, bug fixes and comments
=============================================

Version 2.0d March 24
---------------------

Comments:
- New function for the expression evaluator : FormatNumeric
- New function QRLoadReport(Filename : String) : TQuickRep
  Loads a report saved in the QREditor
- New procedure QRFreeReport(aReport : TQuickRep)
  Must be used to free a report loaded with QRLoadReport
- Several users have reported problems with using images in header bands. We have
  not been able to reproduce this yet. Please forward any 'working' samples to 
  support@qusoft.no
- C++builder: TQREvResult.StrResult is not available in the C++Builder. Expressions with 
  strings work correctly though
- C++builder: Do not rebuild from source files but use the included .hpp files to install
  and run. C++Builder doesn't convert all Pascal headers correctly

Bug fixes:
- AV related to printersettings/printing
- Small memory leak in TQRPrinterSettings
- ShowProgress := false still doesn't work
- Floating point constants in expressions still doesn't work
- Center/right alignment should cause AutoSize to be False by default
- No .kwd file for the help
- AV when deleting a TQuickRep with two or more TQRSubDetail linked in a chain
- Several unresourced strings 
- Column header bands do not print correctly on the first page in a multi column report
- Child bands and bands related to empty controllers print bellow/behind page footer
- Runtime error when saving/loading a report using TQREditor
- Cannot resize shapes in TQREditor
- Changing printer in printer setup dialog doesn't work
- Missing bitmaps on shape type buttons in TQREditor
- No AutoSize button for text in TQREditor
- Now working buttons in TQREditor (Copy/cut/new image) must be removed
- property HorzScrollBar.Tracking does not exist in 16 bit preview
- Dropping a TQuickRep on a C++Builder form performs a clean shutdown of C++Builder!
- TQRMemo skips spaces if AutoSize := false
- Progress bar doesn't work correctly with large datasets in 16 bit version

Version 2.0c March 10
---------------------

Comments:
- The TQRExpr component will now use the parent TQuickRep component as 
  Master if an aggregated function is used in the expression and the Master
  property is empty. As a result of this aggregators can now be used in the
  end user designer.
- Band.Size.Length is changed to Band.Size.Height. Old code referencing Length
  will still work since Length is now a Public copy of Height.
- Three new sub properties: TQuickRep.PrinterSetup.FirstPage (published),
  TQuickRep.PrinterSetup.LastPage (published) and TQuickRep.PrinterSetup.PrinterIndex
  (public) 
- Selecting a different printer in the printer setup dialog doesn't always work. This is
  due to a bug/feature in Delphi. We are working on workaround.
- Some users have reported a problem with the 16 bit QRMemo, saying that spaces are 
  removed from the text. So far we haven't been able to reproduce this. If you have a
  working example please send it to support@qusoft.no
- Some fixes in the end user designer (QREditor) have been posponed to version 2.0d.

Bug fixes:
- Lockup when using a stretching QRRichText connected to a parent RichEdit
- Cannot add to QuickRep.AllDataSets in the QuickRep.BeforePrint event
- Progress bar behaves strange when reporting from a query
- Upper/Lower/Pretty don't work with accented characters (D3)
- Converted reports are not automatically marked as modified
- Cannot type in a directory name in the wizard
- AV in wizard when no default printer is installed
- No help file included
- Several QR 1 properties causes error when converting
- TQRDBText not hooked up to a control will get a width of 0 when doing a 
  design time preview
- TQRListBuilder still didn't work perfectly with strange characters
- Error if rotating bands when no bands exists
- AV if deleting bands while bands are rotated
- Small memory leak in expression evaluator
- Preview with paper size set to Default causes Floating point error
- Cannot use aggregated functions in the QREditor
- Selecting a range of pages from the print setup dialog doesn't work
- ShowProgress := false doesn't work
- Cannot use floating point constants in expressions when local decimal separator
  is different from '.'
- Wrong file extension in the open dialog brought up from the default preview

Version 2.0b March 4
--------------------

Comments:
- There is a problem reported with the TQRRichText component with AutoStretch set to 
  True. Until now we have not been able to reproduce the problem but will continue
  to test for it.
- There is a known problem with loading reports in the QREditor. This will be fixed in
  an upcoming release.

Bug fixes:
- AV when quickly printing a report from the preview
- Lockup when trying to close an application while a preview is visible
- TQRCompositeReport.OnFinished event never called
- TQRListBuilder problem with odd field names (including spaces, , % and more)
- Lockup if ParentBand property of two child bands are assigned to each other
- Moving groups up/down
- Moving sub details up/down
- Right/Center alignment at design time
- Default units taken from machine local settings
- AV when creating two or more levels of master/detail reports
- Upgrading from QR 1 - QR 2 cause controls to loose position
- AV when upgrading a QRSubDetail from QR 1 - QR 2
- QRDBCalc don't change to TQRExpr when upgrading from QR 1 - QR 2
- 16 bit TQRMemo not working
- Band frames paint wrong with stretching bands
- Band width don't always stay correct
- Cannot create a TQuickRep component if no default printer installed
- TQRChildBand doesn't detect deletion of the parent band
- TQRGroup.OnNeedData never fired
- Expressions with an 'empty' operator at the end and a function within gives an AV