Hello everybody,
nice to read all these suggestions.
I'm still in the process of doing this kind of application framework... but recently my spare time has gone for zero...
My approach is a simple db architecture with really only two tables: objects and functions.
Everything is done in xml, even the functions.
The gui and the logic can be fully modified as the framework is really just building the most needed underlying functionality.
Therefore you can create a simple diceroller (given example application that currently comes with the
program ) or a character manager for your favorite RPG, given you have the time to code the rules.
Currently I'm in the process of creating a simple way of entering effects and prerequisites (which isn't quite that simple) by coding the xml-files for it.
I've already created an interface that let's you design simple objects and a generic interface for creating a gui for those objects from the given infos.
So I can design the object
skill with attributes name (multilingual string), description (multilingual text), untrained (boolean), armor penalty (boolean), synergy - skill (list of skills to which +2 synergy bonus is provided if char has more than 5 ranks in this skill), synergy - skill use (list of skill uses e.g. Spellcraft - learn spell for synergy logic), take10 (boolean), retry (boolean), resource (string). For this object I can open the object administration and there the default editor will be generated from the given data, creating a gui with edit fields, memo fields, checkboxes, comboboxes, checklistboxes etc.
By providing an function with a defined name you automatically override the default gui and can provide your own gui.
All of this can be done in my current beta version which I haven't uploaded yet.
My todo list currently says I should create a way to export data in non-xml-format and I'm thinking about adding wiki functionality for easy linking of data.
The last time I wrote about my program a few downloaded it, but there was no feedback

So I'm not sure, if this is really right approach for others, but perhaps another programmer can get some usefull information from this.
Greetings
Firzair