Whenever I make changes to a tp component, I put the component folder under source control before I make the changes. Once the changes are working, I check them in with appropriate log notes. I can then check the version control to see what changes I made at any given time. YOU can create or view a dif file that will tell you all the changes between two versions. That will then guide you to making the same changes in the new tp supplied version.
E.g. Revision 1 Original Virtual Tree 1 Revision 2..5 Series of changes to VT by Chuck Revision 6 New virtual tree from supplier ... Create diff file containing changes from 2..5 Apply diff file or manually make the changes Revision 7 Now has all Chuck changes ... If you are not using version control, you should be. I use subversion with the jedi integration. I wrote a series of posts on using subversion with Delphi: http://sourceitsoftware.blogspot.com/2008/07/starting-out-with-delphi-and-subversion.html http://sourceitsoftware.blogspot.com/2008/07/subversion-server-options.html http://sourceitsoftware.blogspot.com/2008/07/common-tasks-with-subversion.html http://sourceitsoftware.blogspot.com/2008/08/subversion-add-ins-for-delphi.html Regards Sean Cross CIO Catalyst Risk Management -----Original Message----- From: delphi-boun...@elists.org [mailto:delphi-boun...@elists.org] On Behalf Of Chuck Belanger Sent: Wednesday, 1 July 2009 6:14 a.m. To: Delphi Listserve Subject: How to manage changes I make to 3rd party source code in a project? Hello: As a self-taught Delphi user that has used D5, D7 and now D2007 over the last 9 years, I still feel that I'm a newbie about many issues. Here's one I need help on: When moving a big project from D7 to D2007, I updated all the 3rd party code to their most recent code, but in so doing I forgot that there were a handful of pas files that I had to make changes to so that everything worked correctly. Last night I had to add a couple of lines of code to VirtualTrees.pas to check if a particular object (a tree node) was nil or not when called otherwise it is possible that users who click on checked nodes quickly, but miss the check box could end up with an error. What I want to avoid is what happened in this transition from D7 to D2007--I spent many hours trying to figure out what went wrong, only to discover that it was I who made changes to the code so that things worked as expected. In general I really dislike changing 3rd party code because of this. Now, my question is how does one properly manage this? I added documentation in my code to indicate I did this, plus in the 3rd party pas, used a unique line identifier so that I can check for my own code changes, but that really is not enough. Should I add the unit to the project or move over the changed copy to my project and add that, or something else? Thank you for any advice, Chuck Belanger. _______________________________________________ Delphi mailing list -> Delphi@elists.org http://lists.elists.org/cgi-bin/mailman/listinfo/delphi _______________________________________________ Delphi mailing list -> Delphi@elists.org http://lists.elists.org/cgi-bin/mailman/listinfo/delphi