• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 288
  • Last Modified:

data aware vs non data aware

Hello experts,
 
  I have recently started a new job and have some questions.
  The old shop I worked in used Delphi with non-data aware components and just had objects to load data into the forms and write data to the database.
  The new shop uses TDBedit controls and hands over control to the components for data display and database functions etc..

   I personally think that the new shop is being short sighted. Yes, the data aware objects are a RAD tool but the loss of control and reduced flexibility from this is quite a bummer.
   What do you all say about this style of programming? What if any are the benefits of this shoddy programming other than speed of development?

Thank you,
David
0
Dsys
Asked:
Dsys
1 Solution
 
kretzschmarCommented:
> but the loss of control and reduced flexibility from this is quite a bummer
? why do you think this ?
0
 
SuperSyCommented:
Listening...
0
 
mullet_attackCommented:
My opinion is that it depends on the application and what you are doing. eg a simple browse screen could use data aware fine, maybe complicated entry forms might suit code better. I have used both methods, maintenance can be high in code method, but if you use all data aware components plus like Raize and Infopower to do "tricky" things, the maintenance can be quite high there too due to interactivity between components.

My suggestion is to use data aware where RAD is the requirement, like prototyping. There are some pretty cool components available out there. If you then upscale your app or have performance issues, rework those bits in code.

Lastly, I don't agree with your "loss of flexibilty" comment. How flexible are your custom written objects?

Horses for courses here. Pick the best tool for the job.
0
 
DsysAuthor Commented:
Good comments. I have a bias against Data-aware because it appears that problems occur when using them. I would agree that when making your own object you can have a lot of problems as well. However, when you have finished and added all the functionality you want I believe that self build and controlled objects give you more control over how your data is managed.

When you give the data-aware object control over your data it becomes more difficult to prevent data entry issues. One such example occurred in their financial app on rounding off interest on a loan. Also on that field there are problems -when in some nations standards like decimal place are noted by commas not period or in other odd notations data aware has difficulty in working correctly. I should say that I am not an expert and do not claim to know all about Delphi so I am happy to hear your comments and help me understand some of the benefits, which you have.

Thank you
David
0
 
kretzschmarCommented:
hmm,
i have to disagree, because i never loose the control about the data given by a dataaware-component.

it is so, because a dataaware-component is just a visualizing and editing tool for the underlying TField, and there you've the events OnSetText/OnGetText, where tricky things could be done, if needed, at the moment where the transfer from/to the dataaware-control happens.

referenced to your rounding problem
(which allways resists also on not dataaware controls),
you, the developer must decide, how to display (displaymask-property on TField) and how to edit (editmask-property on TField) the data-entry.

the decimal-place depends on the regional setting of the workstation, you've no special settings to do, for making decimal-place delimitter correct,
if wanted, you can 'overlad' the settings by adjusting the global formatvars at appstartup.

resume, all the pointed problems are not really dataaware-control problems.

just my 2 cents

meikl
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now