Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 6 of 6 total |
XE4 workshop London |
Fri, May 3 2013 5:16 AM | Permanent Link |
Adam Brett Orixa Systems | Went to a nice EMB event in London yesterday, demoing the new XE4 features (really just the iOS upgrades!).
While a lot of the old delphi-ites who were there were less than happy about being repeatedly charged for upgrades as EMB adds on different bits of platform support ... there was quite a bit of cool stuff being presented. iOS support seems decent now. New versions of FireMonkey seem pretty strong (thank god I didn't start developing on FM1!). Also LiveBindings seem to have improved _a_lot_ Made me feel positive. ... Also made me think about using LiveBindings in my applications, which I haven't done up to now. Is anyone else doing this & does it all work OK in the newer versions of Delphi? Also, I let my database build my applications using system tables which construct the forms ... so I don't use any of the RAD features of Delphi. Is it possible / easy to work this way with LiveBindings? |
Fri, May 3 2013 6:07 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Adam
Stuck on D2006 so not even attempting to answer your question but rather asking one of my own. >Also, I let my database build my applications using system tables which construct the forms Out of interest can you post any examples of this? I can think of a couple of ways to do it but always interested in real life stuff. Roy |
Fri, May 3 2013 6:51 AM | Permanent Link |
Adam Brett Orixa Systems | >>Also, I let my database build my applications using system tables which construct the forms
>Out of interest can you post any examples of this? >I can think of a couple of ways to do it but always interested in >real life stuff. I would love to Roy, but it is just too much of an awful mess for me to show anyone else, I'd be too ashamed The issue is that it has developed in a very organic way over about 15 years with me as the sole programmer ... so I haven't ever really had to rationalize it, though I have a long TODO list -- The summary of how it works is pretty easy: 1. I have System tables for "Entities", "Relationships", "Resources", "Searches", "Reports" and "UserConfig". Users actually add to the last 3 of these, allowing them to attach new features to the system without my intervention. I use DevEx components for editable-GUI, these all allow run-time design, so I leave my users to actually design the GUI the way they want it & save this to UserConfig. 2. I have many visual components (i.e. charts, trees, grids) which I can just pass a resource name and the SQL held in it will return data in predefined forms which the components can interpret. i.e. the Tree expects fields with names like "ID" and "ParentID". Almost all these SQL statements include IDs (which are now globally unique in my EDB systems, but used to be unique per entity under DBISAM) and EntityName (VARCHAR) fields. Virtually all this layer is ReadOnly, but users can edit what is visible. 3. I use a global concept throughout the framework of an ID / EntityName combination. Almost all visual components when clicked will check what they have clicked and if it includes this combination of properties they will Open this entity on this ID. There is an "Editable" layer which becomes visible when "open" is called, so that an individual record can be edited, these are almost always "1 table per window" (i.e. if a Customer consists of several tables each of these will be on a tab-heading). As there is only 1 table behind each Editable window it is pretty easy to code UPDATEs and INSERTs automatically. When it gets more complex I use the Factory pattern so that specific Editables that are instantiated can have different behaviour. 4. The "Relationships" table connects different entities together so that once the Customer entity is open an automatic link to Orders to see lists (or charts or trees or reports) which become available, depending on a Users security. Confusingly a bunch of other functionality has gone into this table ... -- I use Factories in Delphi so that I can build specific classes of visual object based on the Class-Names passed up from the Entities and Relationships table. That's about the only piece of "magic" ... and it is really cool. .... anyway I really ought to get back to my TODO list but happy to talk about this more off-line if you are interested. |
Fri, May 3 2013 7:11 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Adam
>I would love to Roy, but it is just too much of an awful mess for me to show anyone else, I'd be too ashamed Unlike the pureists I do not believe there is anything to be ashamed of in code that works. It may not be how I'd do it or how they'd do it but it works. That is the important point. >The issue is that it has developed in a very organic way over about 15 years with me as the sole programmer ... so I haven't ever really had to rationalize it, though I have a long TODO list YEAH the ideal sized project team <vbg> It sounds fascinating and a major support nightmare since you can't say to the user "if you click on X what does it do" or can you? >I use Factories in Delphi so that I can build specific classes of visual object based on the Class-Names passed up from the Entities and Relationships table. That's about the only piece of "magic" ... and it is really cool. > >... anyway I really ought to get back to my TODO list but happy to talk about this more off-line if you are interested. OK off you go back to work. I may well take you up on your offer when I've finished de-TMSing an app if its still available. Only two forms and two subsystems to go, naturally, the most complex. Roy |
Fri, May 3 2013 7:35 AM | Permanent Link |
Adam Brett Orixa Systems | >>It sounds fascinating and a major support nightmare since
>>you can't say to the user "if you click on X what does it >>do" or can you? All Clicks are linked to Actions, so provided I can figure out _which_ action a user is calling I can get to the bottom of most GUI related errors fast. Totally unexplained AVs are the nightmare, and these happen from time to time. >>OK off you go back to work. I may well take you up on your >>offer when I've finished de-TMSing an app if its still available. I look forward to it. My email address for a direct contact is myname@mycompany.co.uk, I think you can probably figure this out |
Fri, May 3 2013 7:36 AM | Permanent Link |
Adam Brett Orixa Systems | >>I look forward to it. My email address for a direct
>>contact is myname@mycompany.co.uk, I think >>you can probably figure this out Actually: myfirstname@mycompany.co.uk sorry. |
This web page was last updated on Saturday, May 4, 2024 at 12:54 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |