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

C++Builder Discussion :

ADO + Fichier.bpl


Sujet :

C++Builder

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut ADO + Fichier.bpl
    Bonjour,

    Je suis en train de faire une DLL qui utilise ADO pour accéder à une base de donnée.

    J'utilise BDS 2006

    J'ai réussi à accéder à ma base en ajoutant le package "Composants Borland ADO BD"

    Le problème c'est que si je lance mon application sur un poste ne possédant pas un environement de développement, je doit ajouter les fichiers

    adortl100.blp, rtl100.bpl et dbrtl100.bpl

    La solution à ce genre de problème c'est d'enlever la coche "Construire avec les package d'exécution"

    Ce qui se passe c'est que si j'enlève cette coche, j'ai plusieurs erreurs à la liaison du style

    [Lieur Erreur] Error: Externe '__fastcall Adodb::TADOConnection::~TADOConnection()' non résolu référencé par C:\Applicaionfolder\Class.OBJ

    Est ce qu'il y aurait une solution pour intégrer ces package .bpl directement dans le projet ?

    Faire une sorte d'include dans le code ? Ou alors convertir les .bpl en .lib ou autre ? J'ai essayer avec CMD=>implib mais sans succés

    Je ne pense pas que le problème se limiter au package ADO.

    Merci

  2. #2
    Membre actif

    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 93
    Billets dans le blog
    1
    Par défaut
    Bonjour, tu peut donner plus d'informations?
    BDS 2006 ou Turbo Explorer/Professional
    DLL avec ou sans TForm?
    Code de l'appel au composant?
    essaie de faire un code pour pour une dll avec le composant ADO sans ajouter de code et regarde si ça te fait la même chose
    moi voila ce que j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    //CodeGear C++ Builder 2009
    //Construction avec les packages d'execution désactivé
    //RTL dynamique désactivé
    //Compilation réussie avec ou sans la VCL
    //---------------------------------------------------------------------------
     
    //#include <vcl.h>
    #include <windows.h>
    #include <ADODB.hpp>
    #include <DB.hpp>
    #pragma hdrstop
        TADOConnection *SQLConn;
        TADOQuery *SQLQuery;
        TDataSource *DataSource1;
        int init=0;
    #pragma argsused
    int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
    {
        if (init==0)
            {
                SQLConn= new TADOConnection(NULL);
                SQLQuery= new TADOQuery(NULL);
                DataSource1= new TDataSource(NULL);
                SQLQuery->Connection=SQLConn;
                DataSource1->DataSet=SQLQuery;
                SQLQuery->ParamCheck=false;
                SQLConn->LoginPrompt=false;
                }
        return 1;
    }
    essaie de suprimer les fichiers .obj et recompile pour tester

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    Bonjour,

    Merci pour la réponse.

    Alors j'utilise BDS 2006, la version c'est 10.0.2288.42451 si ça peut aider.

    J'essaye de faire une DLL sans TForm

    J'ai essayer le code fournis par ddrmax et moi quand je compile exactement le même code j'ai plusieurs erreurs du type.
    [Lieur Erreur] Error: Externe 'Adodb::TADOConnection::' non résolu référencé par D:\TESTINTEGRATIONADO\DLL\DEBUG_BUILD\ADOINTEGRATIONLIB.OBJ

    Cette erreur se produit avec les Construction avec les packages d'execution désactivé

    Si je les active, ça compile bien. J'essaye avec une application hote de test sur un poste sans environement de développement et j'ai toujours besoin des .bpl

    Donc j'imagine qu'il doit y avoir une coche à mettre à quelque part pour que ça compile aussi chez moi ?

    Voila ce que j'essaye de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    	TADOConnection *ADOConnection = new TADOConnection(NULL);
    	TADOCommand* ADOCommand = new TADOCommand(NULL);
     
     
    	ADOCommand->Connection = ADOConnection;
    	ADOCommand->CommandType = cmdStoredProc;
     
    	AnsiString ConnectionSTR = "Provider=MSDASQL.1;Extended Properties=";
    	StrCat(ConnectionSTR.c_str(), "\x22");
    	StrCat(ConnectionSTR.c_str(), "DRIVER={MySQL ODBC 5.1 Driver};
                 UID=monusr;PWD=mypwd;
                 SERVER=localhost;
                 DATABASE=madatabase;PORT=3306;");
    	StrCat(ConnectionSTR.c_str(),"\x22");
     
    	ADOConnection->ConnectionString = ConnectionSTR.c_str();
    Et aprés je dois appeler une procédure stocké dans la base.

    Voila, si quelqu'un à des infos à ce sujet.

    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    Bonjour

    Alors c'est un peu tardif comme réponde désolé.

    En fait les problèmes de liason ne venait vraisemblablement pas de ADO mais de la VCL.

    J'ai

    - fait un nouveau projet DLL incluant la VCL
    - enlevé les 2 coches
    - recompiler le projet simple
    - intégrer tous les fichiers du projet qui posait probléme
    - recompiler

    Maintenant c'est OK j'ai plus besoin des .bpl sur un poste n'incluant pas l'environnement de developpement.

    Merci

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

Discussions similaires

  1. Installation Tcomport et fichier bpl
    Par zikem dans le forum Composants VCL
    Réponses: 0
    Dernier message: 18/11/2014, 16h40
  2. connexion ADO fichier texte, problème de séparateur
    Par laville dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 03/09/2007, 14h12
  3. Aide sur PlugIN (Fichiers BPL ou autres)
    Par QAYS dans le forum Delphi
    Réponses: 14
    Dernier message: 25/05/2007, 19h13
  4. Help fichier BPL
    Par anisb dans le forum EDI
    Réponses: 4
    Dernier message: 14/12/2005, 23h17
  5. ADO connexion DSN fichier
    Par nowick dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 25/02/2005, 17h15

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