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

Composants VCL Delphi Discussion :

TADO dans BPL : L'application n'a pas de licence pour cette fonctionnalité


Sujet :

Composants VCL Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 146
    Points : 76
    Points
    76
    Par défaut TADO dans BPL : L'application n'a pas de licence pour cette fonctionnalité
    Bonjour,

    Je travaille avec Delphi 2006 Developper Studio

    Je suis en train de créer une bpl contenant 2 TDataModules (qui contiennent ADOConnections et ADOQueries etc...)

    J'ai deja créé pas mal de progs avec des ADOConnections, sans aucun prob.

    Ici je crée une BPL pour la synchro de deux bases. J'ai 2 DataModules sur lesquels je fait un Create. Au moment du create j'ai le message :

    L'application n'a pas de licence pour cette fonctionnalité

    Hors, jai bien mis dans mes classes TDatamodule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    initialization
     {initialization code goes here}
        RegisterClass(TDM_LOC_SQL_EXPRESS);
    finalization
     {finalization code goes here}
        UnRegisterClass(TDM_LOC_SQL_EXPRESS);
    end.
    (a la fin)

    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
    procedure SynchroParamJustModified;
    var
        TableList,
        TablesToUpdate : TStringList;
        i : Integer;
        DM_Srv : TDM_SRV_SQL2005;
        DM_Loc : TDM_LOC_SQL_EXPRESS;
    Begin
        CoInitialize(nil);
        DM_Srv := TDM_SRV_SQL2005.Create(nil); <-- C'est la que j'ai le msg d'erreur
        DM_Loc := TDM_LOC_SQL_EXPRESS.Create(nil);
    
        // Conncetion parameters
        GatherRegistryEntries;
    ...
    Merci pour votre aide...

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2002
    Messages : 146
    Points : 76
    Points
    76
    Par défaut
    J'ai résolu le probleme.

    Pour cela, j'ai des DataModules dans ma BPL. J'en créé des instances et j'appelle les fonctions dans mon exe.

    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
    32
    33
    34
    35
    procedure TTestFrm.SyncParamsClick(Sender: TObject);
    var
        DM_LOC : TDM_SQLExpr2005_LOC;
        DM_SRV : TDM_MSSQL2005_SRV;
     
        frmSyncProgressForm : TfrmSyncStatus;
     
        ClassDef_LOC : TDM_SQLExpr2005_LOCClass;
        ClassDef_SRV : TDM_MSSQL2005_SRVClass;
     
        ClassDef_SyncProgress : TfrmSyncStatusClass;
     
    begin
        PackageModule := LoadPackage('SynchroSQL2005.bpl');
     
        ClassDef_LOC := TDM_SQLExpr2005_LOCClass(Classes.GetClass('TDM_SQLExpr2005_LOC'));
        DM_LOC := ClassDef_LOC.Create(nil);
     
        ClassDef_SRV := TDM_MSSQL2005_SRVClass(Classes.GetClass('TDM_MSSQL2005_SRV'));
        DM_SRV := ClassDef_SRV.Create(nil);
     
        ClassDef_SyncProgress := TfrmSyncStatusClass(Classes.GetClass('TfrmSyncStatus'));
        frmSyncProgressForm := ClassDef_SyncProgress.Create(nil);
     
        frmSyncProgressForm.Position := poMainFormCenter; // Centre le formulaire
     
        DM_LOC.SynchronizeDBParams(DM_SRV, DM_LOC, frmSyncProgressForm); // Appel de la fonction dans la BPL
     
        UnloadPackage(PackageModule);
     
        DM_LOC.Free;
        DM_SRV.Free;
        frmSyncProgressForm.Free;
     
    end;
    ps : dans la déclaration de type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    TProcCallSynchroParamJustModified = procedure; stdcall;
       TDM_SQLExpr2005_LOCClass = Class of TDM_SQLExpr2005_LOC;  // Type definition de la classe
                                                                 // TDM_SQLExpr2005_LOC que l'on va importer de la BPL
     
       TDM_MSSQL2005_SRVClass = Class of TDM_MSSQL2005_SRV;
     
       TfrmSyncStatusClass    = Class of TfrmSyncStatus;

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/02/2014, 22h26
  2. Réponses: 3
    Dernier message: 09/07/2008, 10h29
  3. Réponses: 2
    Dernier message: 19/05/2008, 20h41
  4. Réponses: 3
    Dernier message: 09/12/2007, 21h25

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