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

Delphi Discussion :

DLL & Accès aux données


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Juin 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 177
    Par défaut DLL & Accès aux données
    Bonjour,

    je souhaiterais modulariser une application afin de pouvoir la maintenir plus facilement. Mon projet est en delphi 7 win 32 et je ne souhaite pas le passer à .Net.

    Dans mon idée je souhaitais créer un programme contenant la fiche principale plus un TJvPluginManager et ainsi développer des plugIns par fonction.

    Le problème vient de l'accès à la base de données. Je ne vois pas comment faire.

    Est-ce qu'il faudrait créer un datamodule dans chaque plugin ou au contraire faut-il créer un plugin avec tous les accès à la base de données ou encore mettre les accès à la BD dans la fiche principale ?

    si quelqu'un peut me donner des pistes? Si vous avez lien je suis aussi preneur.

    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Juin 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 177
    Par défaut
    bon ,

    j'ai un peu avancé
    j'ai une DLL avec mon datamodule et dans lequel j'ai une requete.

    J'execute ma requete depuis le programme qui appelle cette DLL et j'ai le message "opération de pointeur incorrecte". J'arrive pas à voir l'erreur.

    A+

  3. #3
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Par défaut


    Citation Envoyé par BONNEFOI Patrick
    J'execute ma requete depuis le programme qui appelle cette DLL et j'ai le message "opération de pointeur incorrecte". J'arrive pas à voir l'erreur.
    nous aussi, vu qu'on n'a pas ton code sous les yeux

  4. #4
    Membre expérimenté
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Juin 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 177
    Par défaut
    Bonjour,

    voici avec un peu de retard ma réponse

    dans ma dll j'ai le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function FindAdhe : TOracleDataSet; stdcall;
    begin
      if DmMainDB = nil then
        DmMainDb  := TDmMainDb.Create(nil);
      DmMain.DmMainDB.odsTestDL.Active    := True;
      Result  := DmMainDB.odsTestDL;
    end;
    et j'exporte ma fonction FindAdhe;

    dans le programme client j'ai le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      DataSource1.DataSet       := FindAdhe;
    end;
    je veux simplement afficher la liste des adhérents dans une dbgrid.

    dans le programme client, j'ai déclaré la fonction de la dll comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    function FindAdhe : TOracleDataSet; stdcall external 'DllDm' name 'FindAdhe';
    C'est lorsque le passe sur l'affectation au datasource que j'ai le message 'Opération de pointeur incorrect'.

    Merci

  5. #5
    Membre chevronné
    Avatar de Hauwke
    Inscrit en
    Septembre 2005
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 329
    Par défaut
    Bonjour,
    2 files de discussion :
    http://www.developpez.net/forums/sho...d.php?t=147619
    http://www.developpez.net/forums/sho...d.php?t=148744
    sur des sujets proches du votre et une conclusion:
    J'ai abandonné l'usage des TDatamodule dans les Dlls. Je pense que pour les utiliser au travers d'une dll il faut utiliser les approches "passage d'objets" ou bien "instance d'interface", j'avoue ne pas avoir eu le temps de m'y pencher sérieusement.
    Je suis preneur de toutes pistes de solution...
    Cordialement,
    Hauwke

  6. #6
    Membre expérimenté
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Juin 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 177
    Par défaut
    Bonjour,

    j'ai pas eu le temps de regarder plus

    je garde sous le coude les liens que vous m'avez donné.

    A+

Discussions similaires

  1. [Hibernate]Accès aux données BDD via Hibernate
    Par LESOLEIL dans le forum Hibernate
    Réponses: 8
    Dernier message: 17/05/2005, 20h39
  2. [SGBD]Optimiser le temps d'accès aux données (schéma BD)
    Par vsavoir dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 08/10/2004, 18h33
  3. [débutant] avoir accès aux données de la base BCDI 3
    Par Valichou dans le forum Bases de données
    Réponses: 7
    Dernier message: 06/05/2004, 13h13
  4. accès aux donnée d'un DBGRID
    Par relax_06 dans le forum C++Builder
    Réponses: 4
    Dernier message: 02/03/2004, 23h06
  5. [TDataModule] Intérêt de séparer les accès aux données?
    Par Cornell dans le forum Bases de données
    Réponses: 5
    Dernier message: 05/09/2003, 16h42

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