2010-08-02 4 views
4

Je suis nouveau à Delphi et je cherche des moyens d'en savoir plus sur la technologie sous-jacente de Delphi et de faire quelque chose d'utile ici dans mon travail dans le processus, aussi si quelqu'un a une astuce ou de toute façon je peux améliorer mon idée s'il vous plaît libre de parler de votre esprit ...Aide à la génération Delphi DFM basée sur des tables de base de données (échafaudage?)

je veux faire une sorte d'échafaudage pour dfms, l'ideia est la suivante: je veux générer basé sur une table de base de données Firebird - avec des domaines bien définis - la majeure partie du formulaire.

Je pense que l'idée est trop simple ou je ne vois pas la grande image qui le rend difficile, j'essaie de ne pas réinventer le bien, j'ai cherché sur google mais sans de bons résultats, donc si quelqu'un Je pourrais donner une direction ici, je serais très reconnaissant.

MISE À JOUR: @Larry Lustig merci, je ne pensais pas que sur les cadres delphi - je vais les chercher. Je sais quelque chose sur les objets de formulaire/manipulation et métadonnées de base de données, mais je ne suis pas familier avec des objets Delphi sérilisant à la HD. Toutes les astuces sur les frameworks Serialization et Delphi (opensource pour que je puisse y jeter un coup d'oeil :)) seraient les bienvenues!

+0

@Moderators: Je promets de réagir avec une réponse correcte quand j'ai un peu plus de code de travail. @Jonathan: Laisse-moi un email (presque tout sur pluimers.com fonctionnera): Je travaille sur une session pour DelphiLive sur quelque chose de similaire (basé sur SQL Server, et non sur des formes, mais des parties de frames) et j'aime l'adapter à FireBird. Nous pourrions travailler dessus pour le faire fonctionner avec FireBird, et le poster comme une bonne réponse à votre question). –

Répondre

4

Cela semble être une idée intéressante.

Au lieu d'écrire une forme DFM manuellement sur le disque j'utiliser l'approche suivante:

  • Obtenir la structure de votre table en examinant les méta-données.
  • Créez un TForm et ajoutez-lui un contrôle pour chaque colonne que vous voulez représenter.
  • Utilisez la sérialisation intégrée de Delphi pour enregistrer le formulaire sur le disque.

Je ne l'ai pas fait moi-même, mais il y a un certain nombre de frameworks de conception qui fonctionnent avec cette idée.

0

Cela n'aurait de sens que si vous deviez construire beaucoup de formulaires au moment du design. Vous ne pouvez pas utiliser les DFM dans votre exécutable. Si vous voulez construire l'exécution des formulaires, je vous suggère d'aller avec la réponse de Larry Lustig.

Nous avons fait un pas de plus ... nous ne construisons pas de formulaires. Nous écrivons seulement les classes, ajoutons quelques attributs et créons les formes à l'exécution. Les utilisateurs peuvent modifier cette disposition de formulaire prédéfinie pendant l'exécution et enregistrer leur propre mise en page. La liaison de données entre les contrôles et la base de données se fait avec l'excellent framework tiOPF. Peut-être que vous pouvez envisager d'utiliser aussi bien.

Questions connexes