Τρίτη, Μαρτίου 22, 2005

More bugs!

As I keep testing on my components, I find a lot of bugs (as expected). Some of them are easy fixing, but there are others that require some important changes. The most important (and difficult to deal with) is the following:
What I care most with these components is to achieve preserving data integrity in client side. But, I found out that if UndoLastChange, RevertRecord or raCancel (through standard reconciliation dlg) is called against a "master" dataset, then data integrity is lost!
And the most difficult thing about it is that none of the above methods is declared as virtual! I will have to "reintroduce" them so that I am able to handle integrity (notify "detail" datasets about the change). That has of course very important side- effects (for example standard TClientDataset related actions could not be used any more). An another option is just to update my help file and inform developers using my components to avoid calling the above methods. I really hate this idea though, because this would be very restrictive.