tags:

views:

4274

answers:

45

Most Delphi developers have a list of Delphi components they wouldn't live without. Not including anything that ships with Delphi (standard VCL or included third-party software like Rave or Indy), what are the components you can't live without, be they commercial or open-source?

One component or product name per answer, please. Please do not post duplicates.

A: 

Although not an answer to the actual question, I think that professional software should not use 3rd party components unless really necessary. It usually makes the application look more professional if you design your own visual components, specifically for your application. And, when it comes to non-visual components, what can they do that you cannot do yourself using Windows API? Really, if you are a competent Delphi/Win32 API developer, you can probably do most of the work yourself. Not only will you learn from this, but you get precise control over the functionality.

I am not saying one should never use 3rd-party components at all. Indeed, you might need components for highly non-trivial algorithms, encoding/decoding of complicated file formats etc., but in general I feel that there is too much fuzz about 3rd-party components.

Please do read the comments for some interesting discussion (and some clarifications).

Andreas Rejbrand
I'm very very interested to see if you get up-votes. My interest in subjective questions here is to understand people. So your answer is appreciated. I'm not upvoting it because I disagree. But I'll abstain from all votes up and down. I want to see what everybody ELSE thinks on this. I suspect most delphi developers will disagree with you, as components are a unit of tested, highly reliable code, and all the custom paint code and other kludges, or one-time-use local components in the world usually ends up with unreliable solutions, not the other way around.
Warren P
If you are speaking about crappy 3rd party component... Maybe. If you are speaking about state-of-the-art component suite with over 1 millions line of code... Unless your goal is to sell that component, it's not sound business decision to decide to program your own. It all boils down to a Time/Cost decision. Yeah I can program my own component... But while I do so, I'm not working on my main project and get behind schedule. If there is a component suite that does everything I need for 2000$ and that saves me 6 month of coding, that's a no-brainer to me.
Ken Bourassa
@Warren P: I always reinvent the wheel. I think I learn a lot from that, and become a better programmer in the end. In addition, all my code works exactly the way I want to, with no overhead, and no surprises. But I cannot deny that my code sometimes is not perfect. But that is a cost I am willing to pay... (After all, I am not developing software for medical or nuclear applications...) And I program because it is fun and I need the software myself (and everything I write is published on my website as freeware), so I do not make my living from programming. If I needed to make money, then I ...
Andreas Rejbrand
Components I can use are wheels I don't have to reinvent and code I don't have to write or debug (for commercial components). My boss would be very upset with me if I spent 3 months writing some custom component that we could have just bought for $500 or $1000. I don't mind doing that kind of thing on my own time, but when I'm getting paid to get something done, the business and product domain are more important than writing my own grid component (for example).
afrazier
Yes. But I do not see programming as a business. I think programming is art. You make things because you want to create something beautiful, not because you want to become a millionaire.
Andreas Rejbrand
Then why did your answer specifically mention **professional** software?
Mason Wheeler
@Mason Wheeler: I mean software that *looks* professional. "High-quality software" is a better term. I am sorry for the confusion. Bad choice of words... I mean, third-party visual components is like animated GIF images taken from a library of images... That doesn't look professional. Either you stick to the OS own windows (buttons, text fields, etc.), or you create your own look.
Andreas Rejbrand
Hm... 100 % down votes? Doesn't people see other colours than black and white? :)
Andreas Rejbrand
Black and white? I think it's that most people disagree with you... I guess that's black and white. I disagree too FWIW :) My reasons are pretty much covered by other comments already. I do agree, for your own learning purposes, you can learn a lot by writing code to do something there is already code for. I would very rarely do that for professional purposes though - my own spare-time projects, maybe.
David M
Following your reasoning, you should be using assember instead of Delphi. It gives you even more precise controle over the functionality ;)
Lieven
Its like saying that a chef shouldn't use ingredients that he has not grown him self.
Vegar
Well, I guess you are not a hardcore SO contributor unless you've gotten one seriously downvoted answer! After all, it's only CW and it is interesting to get so many (nice) replies! :)
Andreas Rejbrand
@Vegar: That is not a fair comparison. Growing your own ingredients is much more complicated than refraining from using third-party components. When it comes to visual components, the most professional-looking apps either use the native controls of the OS, or use components specifically designed for the application at hand. Hence, you can make a GUI without third-party components, but it sounds a bit difficult to create food without ingredients...
Andreas Rejbrand
It all comes down to a common resource: time. The chef can use his time on cooking, or on gardening. Similar: I can use my time on domain spesific problems or reinventing input controls. A 3.party vendor like DevExpress have made grids and editboxes for many years. They have proved that they can make a good looking, functional spot for typing text or numbers or whatever. It has been tested by _a lot_ of both deverlopers and endusers. Sure I can make my own inputbox, but I would rather be spending time solving my customers problem than giving them a new untested inputbox...
Vegar
Something that often makes my upset is that people are paying for third-party components that a fairly experienced Delphi/Win32 developer really could make himself in just an hour. How difficult is it really to write to an off-screen bitmap (for double-buffering - imperative!), to use the Win32 API? Well, I *do* understand all comments, and I *do* respect them, and if I were developing software as a job then I would probably agree (it is a plain optimization problem: increase the income). But if you consider programming a form of art, then ...
Andreas Rejbrand
Can you write a spreadsheet in one hour?
Warren P
Warren P: I think I could do that, yes. I have written two text editor components (with syntax-highlighting and stuff) and one table component (more or less a spreadsheet component) previously, so I remember how to do it... If you'd like, you can check out the editor because it is used in my text editor program: http://english.rejbrand.se/rteditor.
Andreas Rejbrand
Does it print to the printer, save and load XLS files? Handle all Excel built-in formula and expressions? You see?
Warren P
Printer: Yes. XLS: Definitely not... I see what you mean. But in my case I do not have a need for that kind of Excel compatibility, and then, of course, it doesn't matter. As I said above, "I am not saying one should never use 3rd-party components at all. Indeed, you might need components for highly non-trivial algorithms, encoding/decoding of complicated file formats etc..." All I wanted to say is that there sometimes is a bit *too much* fuzz about third-party components.
Andreas Rejbrand
I still think it is strange with 18- and 0+, though. Surely I do have a point...
Andreas Rejbrand
@Andreas - don't feel bad. Usually, it costs (rep) points to throw rocks on SO. But due to the CW, the rocks are free.
Chris Thornton
@Chris: Thanks, I know! It's OK!
Andreas Rejbrand
@Andreas, I do admire your stamina. I would have deleted the answer after getting much less flack.
Lieven
There should be a badge for enduring such adversity. i.e. having answers of -10 and +10 in the same week, get you "comeback kid" badge or something.
Chris Thornton
I will upvote, as I agree with part of your answer. But I do think you presented you view on the matter poorly that is why so much downvoting accured :)
Runner
Exactly. You are contradicting, in large part, a major part of what makes delphi so cool. There are a billion tools out there that do RAD with a canned set of components. Think of something like Visual Basic but before it had OCX or ActiveX plugin componentry. I used to use CA-Realizer which had a few components built in, but no facility to install more. What it came with was what you had, and that's it.
Warren P
@Warren P: Yes, you are right. I often test third-party controls to get inspiration, but I (virtually) never use them in my products. I think it is so much more fun to do everything myself. And it is really fun to create GUI controls!
Andreas Rejbrand
(cont.) A few months ago I wrote this button control: http://english.rejbrand.se/algosim/pix/screencaptures/ASButton2.wmv (The newest version of the control has twice the "glow radius", and looks much better.)
Andreas Rejbrand
@Andreas: I am glad you enjoy wrestling with Windows and painting etc. and that you love to code GUI controls. I am glad there are many more like you that offer these controls to the likes of me. People that prefer pitting their brain against anything but GUI controls. :-)
Marjan Venema
I agree with Marjan. I prefer solve domain problems too, GUI controls are fun to develop but this' a very time-bound task. What I really do is doing back code (business and library code) to support GUI code...
Fabricio Araujo
Starting your answer with "Although not an answer to the actual question..." is an automatic down-vote
Gerard
People who are interested in the actual problem that is being solved, by your application, rather than focusing on all the painting and mouse handling code, are in fact, dedicated professionals interested in delivering solutions on time, and on budget. Component oriented development allows a clean partition between those who write the components and those who use them. This is a key to the power of Delphi and RAD as a development method.
Warren P
@Warren P: Totally agree. But, as I said above, personally I consider programming an art, not a business, and I never program as a profession, making money under a boss, so *in this sense of the word*, I am by far not a "professional" developer. :)
Andreas Rejbrand
@AR: You are no less capable of being professional than anybody else, and your inclination to go to the lower level (mouse handling and painting) means you would make a good component author. It is ironic then, that one way you could be most successful as a professional is to build components so OTHER people don't have to do the code you actually enjoy doing.
Warren P
So if for example let's say I'm working on a new application of significant size.My options - purchase 3rd party components or do it all in house and take additional year or more to have a release.At a company I worked for years ago we were using Delphi 2 and the VP chose the 2nd option (no 3rd party components). The developers on this project, myself included, learned a lot but for the company it was a tragic decision. The product was never released because by the time it hit alpha it was already obsolete compared to the competition.
TheSteven
TheSteven: As I said many times, I do not program for a living.
Andreas Rejbrand
Not a choice if you want to build complete modern application at acceptable time.Do you start to develop your own RDBMS or, even, OS, if You plan to realize some application for fun which require functionality provided by such things? Why stop at API level? Dig deeper! :-)Finally, You be lost all yours ideas, before getting all-things-around to work ...
ThinkJet
Citation 1 (from answer): " ... I think that professional software ...".Citation 2 (from comments): "But, as I said above, personally I consider programming an art, not a business, and I never program as a profession, making money under a boss, so in this sense of the word, I am by far not a "professional" developer."Make your final choice and don't write about "professional software" while "never program as a profession". Ok? :-)
ThinkJet
+16  A: 

Can I pick a component set? I'd say the JVCL, because it's got a lot of useful stuff in there, over a broad range of categories, that makes my work a lot easier, and it fills in a lot of gaps in the VCL. For example, a more comprehensive set of data-aware controls, a couple different folder-selection controls, and the JVPlugin framework, which is crucial to a lot of my personal work.

Mason Wheeler
But the website isn't great. Is there a list of all components together with brief descriptions of them?
Andreas Rejbrand
I don't think there is, unfortunately. Documentation isn't the JVCL's strong point.
Mason Wheeler
@Andreas - that's a question in its own right. :) http://stackoverflow.com/questions/1743962/jvcl-component-documentation
Sertac Akyuz
JVCL lacks "focus" unfortunately, it looks like they never reject any component that's donated to the project. Do we really need "a couple different folder-selection controls"?
Cosmin Prund
All the above comments are good comments. I am a JVCL dev, and I would be supportive of a community vote on what to REMOVE from JVCL. :-)
Warren P
@Warren P May be you should add some JVCL/Send feedback menu in the IDE?
Alexander
JVCL is a great set of components. I miss a better documentation for most of them.
Averroes
+11  A: 

Devart database components(ODAC, MyDAC, SDAC,IBDAC and the newest UniDac).

Mohammed Nasman
Please add IBDAC to that. The best component for using Firebird with Delphi!
Steve
+35  A: 

MadExcept (find easily the cause of strange errors and exceptions).

Mohammed Nasman
This is an excellent tool. I also use the JCL's debug helper stuff, it's less fancy, but works similarly.
Warren P
+1 for MadExcept, it's very good
Remko
How about EurekaLog? It's also excellent.
Leo
+24  A: 

FastReport (The best report engine I have used in my life).

Mohammed Nasman
+1 for Fast Report - it is indeed such a beautiful piece of software.
MarkRobinson
I've been very impressed by this product.
Warren P
+50  A: 
  • Virtual TreeView for being the best TreeView/ListView component ever with a very clever concept
Remko
+1 for VirtualTreeView!
afrazier
That's two components!
Nick Hodges
Argh. One component or named suite of components (as per JVCL) per answer please. It makes it really hard to figure out which thing people who upvote you are upvoting.
Warren P
I upvoted for virtual treeview. We use it in the RAD Studio IDE, and love it.
Nick Hodges
Really? Does Embarcadero use this in RAD Studio? The developer must be very proud!
Andreas Rejbrand
I placed the 2nd component in a seperate answer, thanks for pointing me to that.
Remko
Yes, we really do use it in the IDE. :-)
Nick Hodges
I believe that the New Fast-Fast-Fast debugger event view uses it, even. :-)
Warren P
+7  A: 

AnyDAC - all what is needed for a fast DB (Oracle, Firebird, Postgres, SQLite, etc) access in one place.

GeorgeJ
+1 AnyDAC is actively developed, fast and works with all of the commercial and open source DB platforms we use in our applications. Support is also first rate!!
David Taylor
+25  A: 

Developer Express Quantum Grid, in my opinion the best Delphi grid component due to it's flexibility and features.

Alan Clark
Which grid is this? I'm familiar with the CX and DX DevExpress grids. The DX grid is great, but a bit dated, while the CX grid is "more modern" but very scary to work with.
Mason Wheeler
It's the CX grid, which I believe is an evolution of the DX grid. There is a bit of a learning curve with it, but the documentation is excellent and there are plenty of posts on the DevEx user forums.
Alan Clark
It's not an evolution of the DX grid, it's a reinvention of it with a completely different (and frequently incompatible) interface, with all the functionality buried beneath layers upon layers of complexity.
Mason Wheeler
I disagree, time taken to learn how it works is well rewarded.
Alan Clark
The CX grid really does look good and flexible, unfortunately it's design is complex it's almost impossible to extend for your own special needs. It's also really, really really SLOW! (I guess all that flexibility comes at a price) I used to use it, now I replaced it with my own grid, and my own gird (an descendant of Delphi's grid)
Cosmin Prund
@Cosmin Prund: a very bold statement considering DevExpress touts its grids/treeview components as being very fast. They even included demo's showing it.
Lieven
@Cosmin Prund: I have to agree with you overall: the CX grid is truely excellent-looking and feature-packed, but it's also next to impossible to extend and debug properly. It does also have a few very annoying bugs that lingers from version to version and the speed isn't very good.I'm still using it a lot, though, because, once you know how to use it, you can create good-looking UIs with lots of feature very fast.
Stephane
@Lieven: Maybe they should include an proper "speed" demo. The available Demos include only trivial cases, with just one grid on every form and just a few columns of data. None the less the MasterDetailMultiDemo.exe still manages to be noticeably slow to start!
Cosmin Prund
@Cosmin Prund: I assume you adequatly compared the speed difference between your own implementation and DevExpress' but I would be hard pressed to believe that for a normal sized grid there would be a noticable speed difference. I have yet to encounter a situation where our performance problems (and we do have enough of them) are related to the grid's performance. That being said, if your own implementation is faster and suits your needs, all the better.
Lieven
Developer Express components are always really good looking. But I find it really hard to understand their source-code. It was usually written by a whiz-kid, and it shows.
Warren P
DevExpress has one really nice feature that is very important for accounting software: The abillity to type amounds so that the numbers appear from right to left with formattings. Before DevExpress, Orpheus was the only component with that feature as far as I know.
Vegar
+19  A: 

TurboPower - No longer a commercial suite, it lives on as open source.

  • XML Partner
  • String Resource Manager
  • B-Tree Filer
  • Internet Professional
  • Orpheus
  • Abbrevia
  • ShellShock
  • Visual PlanIt
  • Essentials
  • LockBox
  • OnGuard
  • SysTools
  • Async Professional CLX
  • FlashFiler
  • SysTools for Kylix
  • Object Professional
  • OfficePartner
  • Async Professional
codeelegance
Very nice component suite. We use ASync Professional for faxing and reading barcodescanners. Abbrevia is used to open OpenOffice files.
The_Fox
I just love how DeveloperExpress came and rescued me from Orpheus grid and editboxes... :-/
Vegar
I am a survivor and former user of AsyncPro, which I came to dislike intensely.
Warren P
ASyncPro just works here, but I have to admit that I never did anything with it. The code was created by my predecessor and I never touched it. Abbrevia is fine, because it opened OpenOffice files without a problem while another commercial package (FlexCompress) returned an error.
The_Fox
+6  A: 

TPerlRegex, which adds regular expression support to Delphi.

Mick
A whole new world opened up when I started using RegexBuddy, Powergrep and the accompanying TPerlRegex component.
Lieven
Agree. RegEx used to be something I had a strong feeling that I should learn, but I didn't know why. Now I know...
Vegar
+13  A: 

I have been using TMS Components for many years! Well worth the money!

For example, TMS has a number of components that can load/save data in a variety of formats (XML, DOC, CSV, XLS, TXT, HTML) and my users love this ability ... using TMS, it was only a matter of writing a few lines of codes. Specific TMS components I regularly use: Scripter Studio and AdvStringGrid (inside Component Pack).

Besides components, I strongly recommend using the GExperts extensions to the IDE.

(Sorry for the lack of links ... I guess I need to earn some more reputation points).

Cesar Marrero
Please UPVOTE already existing TMS answer instead of adding answers.
Warren P
I've deleted mine, upvoting this one as it's a better explanation. Update: Cool! Deleting my post earned my the "Disciplined" badge.
Chris Thornton
Thanks Chris ... didn't mean to duplicate. To the other two posters -- I'm new here, so I don't have enough reputation points to up-vote (believe me, I tried).Just learning from my mistakes, folks.
Cesar Marrero
+8  A: 

Personally, I cannot live without TSmiley:

http://sourceforge.net/projects/tsmiley/

Nick Hodges
Excellent. Love it.
Warren P
+1 for making me smileNickHodges committed revision 17 to the tsmiley SVN repository: 17 revisions of a smiley ;-)
Remko
+8  A: 

Digital Metaphors' ReportBuilder - because it instantly adds a powerful, consistent, flexible reporting system to my software*, and because DexExpress, TMS and TurboPower components had all been mentioned already :-)

*I know Delphi ships with report building software but it changes over time and quite honestly none of the ones I've seen have come close to Report Builder. We've been using it since it was called Piparti, about a billion years ago, and it never lets you down.

robsoft
Gah! It's hard to say which is scarier to have to work with, RBuilder or the DevExpress CX grid. They're both horribly over-engineered piles of lasagna code that are next to impossible to debug when you try to do something non-trivial and it doesn't work.
Mason Wheeler
Mason - I use both of them frequently, in most of my projects. I'm not disagreeing with you. :-)
robsoft
You may call it over-engineered, but when you need to re-write aspects of the report on the fly, as we do all of the time, you come to appreciate how brilliantly written ReportBuilder is. Anything you can do in the Report Designer, you can also do in code. This makes altering the report, and the data it calls, so incredibly simple at run-time. We use this _extensively_ and this is why this component set gets my vote.
_J_
Over engineered. Perfect description of DevExpress component source, IMHO.
Warren P
+8  A: 

CodeSite by Raize

Marjan Venema
Is this a component or an IDE plug in? I guess that's a gray area in the question.
Warren P
+21  A: 

Eurekalog, which provides us with detailed error logs. It is really so much easier to find an Access Violation or any other bug when you have a stacktrace.

The_Fox
+1 and: Eurekalog is great for detecting Memory Leaks as well
Remko
+2  A: 

kbmMemtable

It is a very fast in-memory database table, comes with some nice features for saving and reading to files/streams and I'm a real big fan of the way that the resolver works (allowing updates to be resolved to a database if required)

MarkRobinson
+31  A: 
  • FastMM 4 - yup, I'm still using Delphi 7 thus it is quite necessary. Memory leak tracking is trivial now :)
migajek
For any non experts reading; A slightly trimmed down version of FastMM is now the standard delphi memory manager in all recent versions of Delphi. Without FastMM, or some alternative MM, apps written and built inside Delphi 7 and other old versions of delphi run much more slowly.
Warren P
Other then memory leak prevention and speed, it also fixed some delphi bugs when handling memory incorrectly. Memory leaks do not necessarily cause errors, whereas bad memory handling causes errors like access violations.Also greetings to Warren Postma!
Christian Sciberras
+7  A: 

ImageEN - http://www.hi-components.com

Bill
+3  A: 

Delphi PCRE for Perl compatible regular expression support.

[these should be another answer, please ignore them: FastCode and FastMove because without any effort you can make your application lightning fast. Delphi ZLib wrapper.Scintilla editor Delphi wrapper.]

r4w8173
an Author asked for ONE component per post :)
migajek
I'll consider this one to be for PCRE only. Vote up/down on that one please, folks.
Warren P
+7  A: 

NextSuite (Very nice and light Grid, with other nice looking components).

Mohammed Nasman
Download the "Main Demo". In the Outlook-styled panel of buttons at the lower-left part of the window, select a button. Then click in the ~1 px space right below the button, but above the button under it: EAccessViolation.
Andreas Rejbrand
But generally very nice.
Andreas Rejbrand
Andreas, I have downloaded the demo(source) and recompiled and it doesn't show the bug, seems main demo compiled with old version of NextSuite
Mohammed Nasman
+6  A: 

GLScene : OpenGL based 3D library for Delphi

Pierre-Jean Coudert
+5  A: 

DSPack: Components and class to write Multimedia Applications using MS Direct Show and DirectX technologies.

Pierre-Jean Coudert
+3  A: 

JSDialog Pack - Very flexible dialog components that also makes your application look great!

David Taylor
But you can really tell that the dialogs (http://www.jed-software.com/images/TJSDialog_05.PNG) are not native Windows dialogs, for they have strange metrics. They are not following the Windows guidelines. Some of them (particularly this one) look home-made.
Andreas Rejbrand
But I have always wanted a native dialog like this: http://www.jed-software.com/images/TJSEditDialog_01.png. You really want this type of input often. And this one do look great!
Andreas Rejbrand
+3  A: 

NativeExcel - A nice Delphi library for working with Excel files!

David Taylor
+9  A: 
  • The Jedi Apilib and the Jedi Windows Security Library: The JWA library aims to provide a conversion from C to Delphi of as many headers as possible from the PSDK etc. The JWSCL (security library) is an advanced object-oriented framework for programming with the Windows security features (ACL, Tokens, etc.)
Remko
+1 excellent libraries.
RRUZ
+13  A: 

Graphics32 - An excellent graphics library that we use in several of our applications.

David Taylor
Didn't know this one : it seems to be a good one ! Any comment about pros and cons please ?
Pierre-Jean Coudert
+4  A: 

FastCode and FastMove because without any effort you can make your application lightning fast.

r4w8173
I've had to add this too, because it is too good to be left out. :P
r4w8173
+6  A: 

SpTBX - Great toolbar + controls with skinning support.

Frantic
+7  A: 

Raize Components, for all of the subtle enhancements it brings to many of the standard components. Custom framing easily can give any application a bit more polish.

skamradt
I mostly like the integration with the IDE. It makes creating a GUI a whole lot faster.
Wouter van Nifterick
A: 

DevExpress
MicroOLAP DAC for MySQL
Turbo Power
DelphiX

SharkMan
Please, only one component per response.
Pierre-Jean Coudert
A: 

Can I say the WITH statement? Correctly used, it makes code so much more compact and easier to read than dereferencing objects C++ and C-Sharp

Ken Knopfli
Doesn't really fit here - `with` is a syntactical element, not a component.
Ulrich Gerhardt
Not a component.
Warren P
with? Yikes! "with" is the Spawn of Satan as far as I'm concerned. :-)
Nick Hodges
+7  A: 

TRichView is a must have for almost any kind of application.

John Riche
A: 

FastMM, RemObjects suite, DevExpress suite, FastReport, SmartInspect, EurekaLog, AnyDAC

Claudio
"One component or product name per answer, please. Please do not post duplicates."
Andreas Rejbrand
+11  A: 

Omni Thread Library

Daniele Teti
+2  A: 

ESB Professional Computation Suite for VCL (ESBPCS for VCL). Great components plus terrific libraries (time, dates, strings, currencies, astronomy, etc., etc.,)

Max Williams

Max Williams
I had never heard of these guys. Interesting.
Warren P
+2  A: 

AlphaControls.

http://www.alphaskins.com/

Brett Graffin
+2  A: 

Tcomponent :)

Joke aside, fastreports

Didier
FastReport is already mentioned.
The_Fox
+4  A: 

tnt unicode libraries (im using d2007)

avar
+1  A: 

Still using Delphi 7 for some work, so CodeRush is one tool I use all the time. We have a scheduling application that uses TAppRunner from Jan Goyvaerts.

Mike Howard
A: 

TRichView is THE best Delphi document editor component! Extensive features, full document and editor control, can't live without that one! www.trichview,com

M.SPoor
duplicate. as I said, please don't post duplicate answers.
Warren P
+3  A: 

Most Delphi programmers don't know CnPack but it is one of the best tool in IDE enhancement. It is free and open source (thanks to the generous community of Chinese Delphi programmers). It makes code cleaner and more compliant to the coding standards. It improves code completion and many other tools for faster coding.

rajeem_cariazo
A: 

EhLib

DBGridEh from EhLib by dmitry bolshakov is very good grid component. its not so complicated as DevEx Grids, but definitely worse mention! And excellent memtable component + tree-like view is nice addition to popular grid!)

deks
A: 

FibPlus

FibPlus in number one database connection component for Firebird and Interbase. Have some advanced features.

deks
A: 

WpTools - www.wptools.com the mosto powerfull RTF Editor.

Eduardo S Santos
A: 

TeeChart from Steema for charting, graphs and a nice export.

Brian Frost