Hi ! I have an application who does something like your app does. I guess you should generate the PAS file together DFM, generating declarations and skeleton implementations of the event's procedures there. It works for me !!
2010/9/16 John Bird <johnkb...@paradise.net.nz> > I have a source generation program to speed creating of sets of labels and > edit boxes on a form - which gives output like examples below. > > I paste the code that goes in the DFM onto the form, and it creates all the > components - a neat Delphi trick for those who might not know. > > My problem is that the OnEnter and OnExit events seem to disappear from > these components and I have to add them back manually, even though the code > was already in the unit when the paste was done. My detective work so far > seems to show that it depends on where the forward (first) declaration of > the event code is placed whether it is recognised or not - seems it has to > be above the {private} and {public} sections for the form > > What are the rules for where such event code has to be declared? - I am > vague on this. I have heard others use generated code too, I am wondering > if they have tips or pitfalls like this to avoid. > > (Aside - Personally I favour source generation like this a lot. It is > cool > to do, ends up as fast as hand written code, and most importantly saves > time > and introduces standard code structure that is easy to understand.) > (Further aside - this is code generated by the program for a new part of > itself. Its cool when a program can write its own code). > > example of output from the code generation.... > > // Forward declaration > procedure edtSOURCEINPUTEnter(Sender: TObject); > procedure edtSOURCEINPUTExit(Sender: TObject); > > > //Implementation ------- edit enter and exit events for editing this > record -------- > procedure Tform1.edtSOURCEINPUTEnter(Sender: TObject); > begin > (some code here) > end; > > procedure Tform1.edtSOURCEINPUTExit(Sender: TObject); > begin > (some code here) > end; > > And: > > //Paste onto form > > object lblSrcInpPath: TLabel > Left = 300 > Top = 51 > Width = 142 > Height = 13 > Caption = 'Path' > Font.Charset = DEFAULT_CHARSET > Font.Color = clBlack > Font.Height = -11 > Font.Name = 'MS Sans Serif' > Font.Style = [] > ParentFont = False > end > object edtSrcInpPath: TEdit > Left = 420 > Top = 48 > Width = 121 > Height = 21 > Font.Charset = DEFAULT_CHARSET > Font.Color = clNavy > Font.Height = -11 > Font.Name = 'Tahoma' > Font.Style = [fsBold] > ParentFont = False > TabOrder = 1 > Text = '' > Enabled = True > OnEnter = edtSOURCEINPUTEnter > OnExit = edtSOURCEINPUTExit > end > object lblSrcInpFileIn: TLabel > Left = 300 > Top = 75 > Width = 142 > Height = 13 > Caption = 'Filename without path' > Font.Charset = DEFAULT_CHARSET > Font.Color = clBlack > Font.Height = -11 > Font.Name = 'MS Sans Serif' > Font.Style = [] > ParentFont = False > end > object edtSrcInpFileIn: TEdit > Left = 420 > Top = 72 > Width = 121 > Height = 21 > Font.Charset = DEFAULT_CHARSET > Font.Color = clNavy > Font.Height = -11 > Font.Name = 'Tahoma' > Font.Style = [fsBold] > ParentFont = False > TabOrder = 2 > Text = '' > Enabled = True > OnEnter = edtSOURCEINPUTEnter > OnExit = edtSOURCEINPUTExit > end > > etc.... > > > John > > > _______________________________________________ > NZ Borland Developers Group - Delphi mailing list > Post: delphi@delphi.org.nz > Admin: http://delphi.org.nz/mailman/listinfo/delphi > Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject: > unsubscribe >
_______________________________________________ NZ Borland Developers Group - Delphi mailing list Post: delphi@delphi.org.nz Admin: http://delphi.org.nz/mailman/listinfo/delphi Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject: unsubscribe