Chris, in that situation I use the dfm-to-txt converter and then a 
proggie called snr (search and replace) to go through all pas and 
txt 
files and then convert txt-to-dfm.  Thats how I have handled the 
various migrations D1->D2->D3 as well.

On 14 May 99 at 10:23, Carl Reynolds wrote:

> This message is in MIME format. Since your mail reader does not understand
> this format, some or all of this message may not be legible.
> 
> ------ =_NextPart_000_01BE9D8F.39F0CCF0
> Content-Type: text/plain;
>     charset="iso-8859-1"
> 
> Only 6 hours?!  Luxury!  :)
> 
> Having to update multiple forms is my pet hate.  That reminds me of a
> story...  :)
> 
> The last time I was in this position we decided to modify _every_ form
> in our application to inherit from a common ancestor (which would handle
> saving user size and positioning among other things).  Anyway, I
> _definitely_ couldn't be bothered to go through opening umpteen million
> forms, changing the "TMyForm = class(TForm)" to "TMyForm =
> class(TOurForm)" and sticking "inherited;" at the start of all our
> methods, so I wrote a Delphi program to do it, using
> ObjectResourceToText and ObjectTextToResource to handle the change to
> the forms.  Result: it worked extremely well!  I strongly recommend
> doing this to anyone who finds themselves in a similar unfortunate
> situation.
> 
> Cheers,
> 
> Carl Reynolds                      Ph: +64-9-4154790
> CJN Technologies Ltd.             Fax: +64-9-4154791
> [EMAIL PROTECTED]                DDI: +64-9-4154795
> PO Box 302-278, North Harbour, Auckland, New Zealand
> 12 Piermark Drive, North Harbour Estate, Auckland, NZ
> Visit our website at http://www.cjntech.co.nz/
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [SMTP:[EMAIL PROTECTED]]
> > Sent: Friday, May 14, 1999 5:01 AM
> > To:   Multiple recipients of list delphi
> > Subject:  RE: [DUG]:        Another Axe thru the OOP model
> > 
> > Carl,
> > 
> > thats what I did last night.  It just took about 6 hrs to wade through
> > 
> > all 92 odd table components and retest.  :-(
> > 
> > 
> > On 13 May 99 at 12:00, Carl Reynolds wrote:
> > 
> > > Hi Rohit.  I understand your frustration with the TTable design, but
> > you
> > > don't have to follow that design in its descendants.  You can
> > achieve
> > > the effect you desire with the following hierarchy:
> > > 
> > > type
> > >   TTableCmn = class(TTable)
> > >     procedure DoOnNewRecord; override;
> > >     procedure NewRecordStuff; virtual;
> > >   end;
> > > 
> > >   TTable1  = class(TTableCmn)
> > >     procedure NewRecordStuff; override;
> > >   end;
> > > 
> > > implementation
> > > 
> > > procedure TTableCmn.DoOnNewRecord;
> > > begin
> > >   NewRecordStuff;
> > >   inherited;  // OnNewRecord will run here
> > > end;
> > > 
> > > procedure TTableCmn.NewRecordStuff;
> > > begin
> > >   FieldByName ('CommonField').AsInteger := 1;
> > > end;
> > > 
> > > procedure TTable1.NewRecordStuff;
> > > begin
> > >   inherited;  // As per "normal"
> > >   FieldByName ('MyField').AsText  := 'blah';
> > > end;
> > > 
> > > Of course if you needed to have your descendant code execute amidst
> > the
> > > TTable.DoOnNewRecord code then this wouldn't help you, but while
> > that
> > > might be shortsightedness on the part of whoever wrote the
> > > TTable.DoOnNewRecord code, it wouldn't be an intrinsic OOP model
> > flaw.
> >
> > > > -----Original Message-----
> > > > From: [EMAIL PROTECTED] [SMTP:[EMAIL PROTECTED]]
> > > > Sent: Thursday, May 13, 1999 10:52 PM
> > > > To:   Multiple recipients of list delphi
> > > > Subject:  [DUG]:        Another Axe thru the OOP model
> > > > 
> > > > I hesitated posting this message, lest I be seen bashing Borland 
> > > > again.  But really, some of you need to know this (if you havent
> > been 
> > > > hit by it by now).
> > > > 
> > > > At first glance this should work fine, just the perfect hook for 
> > > > initalising fields in a new record......
> > > > 
> > > > type
> > > >   TTableCmn = class(TTable)
> > > >     procedure DoOnNewRecord; override;
> > > >   end;
> > > > 
> > > >   TTable1  = class(TTableCmn)
> > > >     procedure DoOnNewRecord; override;
> > > >   end;
> > > > 
> > > > implementation
> > > > 
> > > > procedure TTableCmn.DoOnNewRecord;
> > > > begin
> > > >   inherited; /// the normal thing to do
> > > >   FieldByName ('CommonField').AsInteger := 1;
> > > > end;
> > > > 
> > > > procedure TTable1.DoOnNewRecord;
> > > > begin
> > > >   inherited; /// let the parent initialise common stuff
> > > >   FieldByName ('MyField').AsText  := 'blah';
> > > > end;
> > > > 
> > > > 
> > > > But, the dratted DoOnNewRecord in TTable/TDataSet calls the forms
> > > > OnNewRecord event.  If this is assigned, it gets executed first,
> > but
> > > > surely, normally I want this executed last.
> > > > 
> > > > And no, you cant call inherited last in the overridden methods.
> > You
> > > > have to redo all the code on ever overridden method.   That is,
> > the
> > > > prime  concept of building up behaviour neatly falls down.
> > > > 
> > > > It would appear that this applies to all the Onxxxxx events in the
> > 
> > > > VCL. So beware when writing families of components.
> > > > 
> > > > Regards
> > > > 
> > > > Rohit
> > > > 
> > > >
> > ======================================================================
> > > > CFL - Computer Fanatics Ltd.  21 Barry's Point Road, AKL, New
> > Zealand
> > > > PH    (649) 489-2280 
> > > > FX    (649) 489-2290
> > > > email [EMAIL PROTECTED]  or  [EMAIL PROTECTED]
> > > >
> > ======================================================================
> 
> ------ =_NextPart_000_01BE9D8F.39F0CCF0
> Content-Type: application/ms-tnef
> Content-Transfer-Encoding: base64
> 
> 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
> AAAAAb6dAqJHdmaYGQQUEdOaKABgCJYn6gAiTHkgAB4AQhABAAAAMAAAADwxOTk5MDUxMzA0NTIu
> UUFBMjc2NDVAcGxhbmV0LmFrLnBsYW5ldC5nZW4ubno+AEAAOQCAfMQ5j52+AQMA8T8JBAAAHgAx
> QAEAAAAFAAAAQ0FSTAAAAAADABpAAAAAAB4AMEABAAAABQAAAENBUkwAAAAAAwAZQAAAAAADAP0/
> 5AQAAAMAgBD/////AgFHAAEAAAA8AAAAYz1OWjthPSA7cD1DSk4gVGVjaG5vbG9naWVzO2w9Q0pO
> TlRTRVJWRVItOTkwNTEzMjIyMzI4Wi0yMzMAAgH5PwEAAABZAAAAAAAAANynQMjAQhAatLkIACsv
> 4YIBAAAAAAAAAC9PPUNKTiBURUNITk9MT0dJRVMgTFREL09VPUNKTk5UU0VSVkVSL0NOPVJFQ0lQ
> SUVOVFMvQ049Q0FSTAAAAAAeAPg/AQAAAA4AAABDYXJsIFJleW5vbGRzAAAAHgA4QAEAAAAFAAAA
> Q0FSTAAAAAACAfs/AQAAAFkAAAAAAAAA3KdAyMBCEBq0uQgAKy/hggEAAAAAAAAAL089Q0pOIFRF
> Q0hOT0xPR0lFUyBMVEQvT1U9Q0pOTlRTRVJWRVIvQ049UkVDSVBJRU5UUy9DTj1DQVJMAAAAAB4A
> +j8BAAAADgAAAENhcmwgUmV5bm9sZHMAAAAeADlAAQAAAAUAAABDQVJMAAAAAEAABzDgm9PTi52+
> AUAACDDwzPA5j52+AR4APQABAAAABQAAAFJFOiAAAAAAHgAdDgEAAAAtAAAAW0RVR106ICAgICAg
> ICBBbm90aGVyIEF4ZSB0aHJ1IHRoZSBPT1AgbW9kZWwAAAAAHgA1EAEAAABDAAAAPDQxNTkwMURF
> NDdENEQzMTE5OTlEMDA2MDA4OTYyN0VBMDQzNjE0QGNqbm50c2VydmVyLmNqbnRlY2guY28ubno+
> AAALACkAAAAAAAsAIwAAAAAAAwAGEGsmQUQDAAcQMw0AAAMAEBAAAAAAAwAREAAAAAAeAAgQAQAA
> AGUAAABPTkxZNkhPVVJTP0xVWFVSWTopSEFWSU5HVE9VUERBVEVNVUxUSVBMRUZPUk1TSVNNWVBF
> VEhBVEVUSEFUUkVNSU5EU01FT0ZBU1RPUlk6KVRIRUxBU1RUSU1FSVdBU0lOVEhJAAAAAAIBfwAB
> AAAAQwAAADw0MTU5MDFERTQ3RDREMzExOTk5RDAwNjAwODk2MjdFQTA0MzYxNEBjam5udHNlcnZl
> ci5jam50ZWNoLmNvLm56PgAALZc=
> 
> ------ =_NextPart_000_01BE9D8F.39F0CCF0--
> ---------------------------------------------------------------------------
>     New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
>                   Website: http://www.delphi.org.nz
> 
Rohit

======================================================================
CFL - Computer Fanatics Ltd.  21 Barry's Point Road, AKL, New Zealand
PH    (649) 489-2280 
FX    (649) 489-2290
email [EMAIL PROTECTED]  or  [EMAIL PROTECTED]
======================================================================

---------------------------------------------------------------------------
    New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
                  Website: http://www.delphi.org.nz

Reply via email to