IDE Development

From Lazarus wiki
Revision as of 19:38, 4 April 2008 by Mattias2 (talk | contribs) (→‎ToDo)
Jump to navigationJump to search

Multi form properties / using DataModules from other forms in the designer

Short Description

This feature allows to use components of other designer forms. A common example is to use the TDataSource on a DataModule for the DataSource property of a db control.

Working

  • Manual referencing via source code works.
  • TPersistentPropertyEditor.GetValues - List all possible values. Check for class compatibility and if the target unit does not belong to a package that will conflict if used.
  • TPersistentPropertyEditor.GetValue - Show component path
  • TPersistentPropertyEditor.SetValue - search the component via the given path
  • When component is deleted, the property must be set to nil - This is not the job of the IDE, but should be achieved by the normal TComponent FreeNotification feature. Maybe eventually a check could be added, if this is implemented properly and force a nil on error.

ToDo

  • Add unit name to uses section and package to dependencies.
  • When referenced component is deleted, the using units must be set modified.
  • When target form is saved, all referring forms should be saved too, to keep consistency.
  • When target form is closed, then all referring forms must be closed too. (Otherwise all properties will be set to nil, and the reference will be lost).
  • When reference form is opened, then target forms must be opened too.