IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Utilisation de dll


Sujet :

Windows

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut Utilisation de dll
    Bonjour a tous, voila, j'ai un gros programme de comptabilité a faire.
    Cette application contiendra beaucoup de fenetre. Chaque fenetre sevira a faire une action : bilan, la saisie, gerer les comptes,etc etc...
    Le programme repose sur quelques db.
    Ma premiere idée etait de créer une application qui servira d'interface, et de créer des dll pour les autres fenetres qui serviront a faire des action dans les bases de données. Cette idée me parait plutot bien point de vue legereté de l'appli , et de maintenantce, ici que d'ajouter des plugins en dll.
    Enfin , je m'y connais pas trop sur les gros projets donc, avis aux connaisseurs.
    Je peux aussi tout tapper dans un exe mais bon, je trouve pas ca vraiment tres legé , et pour la maintenant , ca peut etre lourd.

    Qu'en pensez vous ?

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 24
    Points : 26
    Points
    26
    Par défaut euh avis perso
    je dis peut être une connerie mais je crois que tu prends le problème dans le mauvais sens.
    DLL = dynamic Link Library
    L'interêt des dll est qu'ils puissent être utilisé par plusieurs executables ou encore de regrouper des fonctions qui pourront être utilisés par les versions futures d'une application.
    ex : ça t'évite te recoder les fonctions si tu développes la version 1 sous visual studio et la version 2 sous delphi.
    l'usage des dll ne va pas forcément rendre ton appli plus légère ou encore faciliter la maintenance.

    Ce qui va rendre ton appli légère, c'est plutot le compilateur qui va faire le boulot d'optimisation que toi ou encore ta façon de gérer la mémoire(tout dépend des languages). Maintenant les optimisations nécessaires se font au niveau de l'algorithme que des optimisations exotiques de codes limite incompréhensibles.
    En ce qui concerne la maintenance de ton programme, c'est et ça reste un problème de conception. Ca dépend du langage que tu vas utiliser, des contraintes, etc...

    Sauf erreur de ma part, je ne vois pas pourquoi tu t'emmerdes à faire des dll pour communiquer entre ton appli et la base de données alors qu'il y a sûrement les drivers de ta base de données pour le language que tu vas utiliser. (A moins que tu n'utilises une bases de données exotiques et un language exotique) Il y a 99,999% de ta base de donnée soit fournie avec au moins des drivers ODBC(si elle tourne sous WINDWOS). Et il y a 99.999% de chances pour que ton language accepte des drivers ODBC. Sinon il y a 99.999% de chance que tu aies fait un mauvais choix de language et/ou base de données.

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    Merci beaucoup pour ton point de vue.
    Je vais developper cette application avec Delphi. La base de données sera controlée par le Microsoft Jet 4.0.
    Donc en gros, pour toi , c'est vraiment pour ce compliquer la tache ?
    Bon, moi , je voyais la chose autrement, surtout, sur le point de vue de gerer les dll. Chaque dll serait une sorte d' application tierce.
    Mais bon, je pense aussi que sans l'utilisation des dll sera plus rapide niveau developpement.

    Si quelqu'un a une remarque a faire sur ce sujet, qu'il n'hésite pas.

    Merci a+

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 24
    Points : 26
    Points
    26
    Par défaut
    En ce qui concerne la légèreté, il vaut mieux utiliser DBexpress que ADO. hum le moteur JET est utilisé par ACCESS et par M$DE. Si tu comptes tout faire par requête SQL, je te déconseille d'utiliser ACCESS. J'ai fait l'expérience avec une appli Delphi <--> ACCESS 2000 j'ai vite regretté. Il y a des choses, des petits détails à la C.. que tu peux seulement en local via ACCESS et non par requête SQL.
    Je te conseille de développer avec les mêmes versions du moteur (et pe du MDAC) y compris les services packs que sur les PCs ou le serveur où ton appli ça sera déployer. Ca t'évitera de jolies surprises au moment de la mise en production.

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    Merci pour cette remarque. Je vais utiliser en effet Access par requettes SQL. Une connaissance m'a prevennu aussi de l'instabilité de la la base de donnée dans des réseaux hétérogènes (win 98 et 2000). Mon logiciel sera déployé sur des petits reseaux (10, 15 pc) hétérogènes ou pas. La base de données sera donc en partage.
    Sur quelle version de windows sera t'elle la plus stable ?version serveur ?
    Est ce que la version d'Access a une importance, pcq , si je ne me trompe pas,un db Access 2002 ou 2003 est formatée autrement qu'une 2000.
    Le moteur Jet les prend toutes en charges ?

    Faut savoir aussi que les client vont tourner sur des versions Windows et Office inconnues , allant de win 98 a xp et de office 2000 a 2003.

    J'aimerais connetre ton point de vue sur ce sujet.

    PS: Je m'excuse auprès des membres de ce forum si ce post dévie du sujet initial.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 24
    Points : 26
    Points
    26
    Par défaut avis perso
    ben expérience perso en local : sur mon PC access 2000 toutes mes requêtes SQL passent, lors de la mise en production avec access XP, toutes mes requêtes avec une clause where ne passaient pas. Pourquoi ? je n'ai toujours jamais compris... faut dire que je n'ai pas non plus trop chercher à comprendre.

    Là c'est à la limite de mes connaisssances sous ACCESS, je peux dire des conneries. Je laisserai tomber ACCESS parce que tu vas avoir des bugs qui vont sûrement apparaître à cause des versions différentes ou encore des bugs inéhrente à une ACCESS ou au moteur JET qui n'est pas à jour ou même une version différente. Deplus tout dépend du volume de données que ut vas traiter mais si ACCESS peut saturer ke réseau puisqu'il rappatire d'abord toutes les tables utilisées en local. Passe à une base de données client/serveur comme SQL serveur, si tu veux rester chez M$ sinon tu as MySQL, interbase/firebird.
    Ma préférence irait avec Interbase/firebird car il n'y a pas mal de composants delphi pour ces base de données. de plus Interbase s'autogère très bien, d'après ce que j'ai lu ici.

    serveur base de donnée 2000 ou XP pro suffisent amplement. Je pense ça ça ne gênera personne si le serveur est éteint le WE .

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 25
    Points : 28
    Points
    28
    Par défaut
    Salut,

    Je suis entièrement d'accord pour ce qui est faire attention aux volumes de données que tu utilises avec Access, mieux vaut te baser sur une autre base si les volumes sont importants.

    Je suis bien sur également d'accord pour l'utilisation de pilotes ODBC plutot que d'attaquer directement la base.

    Par contre je trouve que le principe de DLL plugin est un bon principe, cela permet de modulariser ton application.
    Je ne connais pas ton contexte mais en fonction des problématiques auquelles tu es confronté (mises à jour de ton soft, existance de certaines pages d'IHM sur certaines distributions de ton soft mais pas sur d'autres, etc...) c'est un principe à mettre en place au dév qui peut simplifier énormément le déploiement / mise à jour de ton soft (je suis bien placé pour le savoir)...

    Bien sur l'utilisation de DLL en soit ne va pas optimiser ton application, cela peut même l'alourdir, cela n'est pas à faire si ton application est mono-client ou contient peut d'écrans, mais sur certains gros projets c'est un principe de dév qui simplifie beaucoup les autres étapes du cycle de dév...
    Nicolas Diétrich

  8. #8
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    Encore un grand merci pour vos reponses. Pour ce qui est de l'utilisation des dll , je pense que je vais pas prendre cette idée, je pense que ca va me ralentir vu qu'en plus j'ai un delais assez court.
    Pour ce qui est de la base de donnée, elle sera pas enorme d'après ce qu'on m'a dit, donc, Access devrait tj convenir. Bon , pour ce qui est de la version d'Access, suffis juste de créer la base de donnée vide de la version 2000, et de la distribuer avec le programme, comme ca, elle sera tout le temps compatible.

    Enfin, je vais commencer le projet et on verra plutard les futures problemes donc, a la prochaine et merci encore.

    a+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DLL] utiliser une DLL a partir d' une DLL et un .def
    Par venomelektro dans le forum MFC
    Réponses: 9
    Dernier message: 07/12/2004, 14h01
  2. [FORMS] Utilisation de DLL avec ORA_FFI
    Par Nounoursonne dans le forum Forms
    Réponses: 2
    Dernier message: 07/12/2004, 09h19
  3. utilisation de dll avec diverses compilateurs
    Par Thylia dans le forum C++
    Réponses: 30
    Dernier message: 21/10/2004, 16h30
  4. Utilisation de dll
    Par David E dans le forum MFC
    Réponses: 11
    Dernier message: 04/02/2004, 14h09
  5. [CR] Infos sur l'utilisation de dll
    Par step dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 09/08/2002, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo