Envoyé par
octal
Bonjour jerome71300,
voilà, je me permet d'intervenir pour mettre un peu d'ordre dans les idées (enfin je l'espère).
VCL : Visual Component Library = Librairie de composants visuelle de delphi. Tous les programmes à bases de fenetre, boutons, et autres composants est à base de VCL.(Je sais que certains puristes vont raler ... mais pour éviter toutes confusions chez les débutants, évitons pour une fois de parler de possibiliter d'avoir des appli non vcl en delphi ou utilisant des lib exotique genre Metaframe ou les api de win directement)...
SDI: Single Document Interface
MDI: Multiple Document Interface
SDI et MDI sont des modeles d'applications, c'est à dire des "manières" d'écrire une application.
Je m'explique:
Disons par exemple que je suis entrain d'écrire une application de gestion de facturation pour un cabinet de comptable. Mon application sera écrite en Delphi et utilisera des fenetre et autres composants fourni dans la palette Delphi. Ce sera une application VCL. C'est à dire une application utilisant des composant de la Visual Component Library de Delphi.
Imaginons que mon application va permettre de créer un dossier pour chaque client du cabinet.
Alors là j'ai deux choix (deux manières de faire) possibles:
Si je décide que le compatable qui utilisera mon application aura la possibililité de N'ouvrir qu'UN SEUL dossier à la fois. C'est à dire ouvrir le dossier du client Michel. Pour aller vers le dossier du client Pascal le client DEVRA FERMER le DOSSIER COURANT et OUVRIR le du second client (Pascal). On dit que le client ne peux MANIPULER qu'UN SEUL DOCUMENT à la fois. Donc c'est une application SDI (SINGLE document Interface).
Si par contre je décide de donner la possibilité à l'utilisateur d'OUVRIR PLUSIEURS DOSSIERS A LA FOIS (donc celui de michel dans une fenetre, celui de pascal dans une fenetre et ainsi de suite ...) on dit que l'application est MDI (Multiple Document Interface). Elle permet de manipuler PLUSIEUR (MULTIPLE) document à la fois.
Dans ce meme ordre d'idée, on peut voir que Notepad de windows ne permet d'ouvrir qu'un seul fichier à la fois et nous oblige à le fermer pour ouvrir un autre document. donc Notepad est une application SDI. de meme pour wordpad et msPaint (paint fourni avec windows).
Photoshop permet d'ouvrir plusieur images à la fois. Photoshop est une application MDI.
Les application MDI ont eu la particularité qu'elle se présente sous forme d"une fenetre principale de l'application appelée Fenetre Mère ou principale (main window), et les fenetre des documents flottent à l'intérieur de la fenetre mère. les fenetres des documents sont appelée fenetre fille (Child window).
Donc en conclusion:
VCL est une notion liée à l'utilisation de composant manipulable dans l'environnement de développement de delphi par la souris et l'inspecteur de proriété de delphi.
MDI et SDI sont des philosophie ou manière d'écriture complètement indépendantes de Delphi. On peut faire du MDI ou SDI dans d'autre langages que Delphi.
Il est à noter que microsoft pousse tout le monde à abandonner le medele MDI qui est jugé contre-productif maintenant. La preuve en ait est que Word crée maintenant une fenetre nouvelle dans la barre des tache pour chaque nouveau document. Les applications devant continuer à utiliser du MDI comme par exemple les éditeur de code source (comme l'éditeur de Delphi par exemple) utilisents plutot des onglet pour afficher différent document plutot que des fenetre filles, c'est le cas de IE7. IE6 été une application SDI, et IE7 est une application MDI utilisant des Onglet au lieu de fentre filles.
Voilà voilou ... j'espère avoir été claire et ne pas avoir semer plus de confusion. Bonne chance et bon courage.
Octal