[Qt-interest] Qt Report Designer System

Zeljko zeljko at holobit.net
Tue Oct 25 11:13:36 CEST 2011


Frank Tiekink (IDE) wrote:

Hi,

> Fast Report seems interesting for us as well, but I'm not sure I
> understand the complete picture. Fast report has either VCL
> (Ex-Borland), .Net or com interfaces available. Are you using the VCL

We do not use com/activex. Yes, FastReport is for VCL,  there are some direct 
winapi calls, but thanks to lcl (lazarus component library) api it's pretty easy 
to port.

> interface and Lazarus with the QT binding to simulate a VCL interface?

Yes, but it does not "simulate" VCL interface, it's just compatibile with it on 
many platforms (same as qt does). 
eg. MSDN ExtTextOut()
in lazaus it is.
WidgetSet.ExtTextOut()

WidgetSet can be: win32 (gdi), wince,qt (win,linux,mac etc), gtk2 (linux,win), 
carbon, cocoa, android etc etc.

and widgetset overrides such function with it's own implementation
TQtWidgetSet.ExtTextOut() -> calls QPainter to draw text at x,y as ExtTextOut 
wants :)


So when you have some code which calls ExtTextOut() it'll call 
WidgetSet.ExtTextOut() and draw your text... and it works on all supported 
platforms (currently lazarus qt supports linux,win and mac).
Tomorrow if you want to compile your app against gtk2 - you can (of course if 
you didn't add direct calls to some of widgetsets inside your code, but that can 
be fixed with ifdefs also).


> Why not use the com/ActiveX interface that is natively supported by Qt?

No, we do not use it.
Company code relied on Borland Kylix3 and Delphi7 (clx both - qt2), so code base 
is huge and porting it to C++ was/is an pretty huge task (maybe 2 yrs to port 
all code), our management decided to use lazarus (stop raising expenses)  , and 
we are happy with it.


> Would we be forced to use Pascal to write interface components or could
> everything be setup using (Plain Qt) C++?

Yes , it's OOP (Object oriented pascal) but I don't see any cons against it, 
it's simple and strict - do not forget that this is not pascal from 80's :)

I'm afraid that it cannot be used with plain C++, so you want nice reporting 
tools and other fancy components "out of the box" , then I don't see anything in 
C++ world (and that works outside of win platform).
Only solution is to write you own components or use another tools.


zeljko





More information about the Qt-interest-old mailing list