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 :

[D7] Directive de compilation


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Par défaut [D7] Directive de compilation
    bonjour,

    l'application doit pouvoir fonctionner avec un serveur distant ou, si ce dernier n'existe pas, un serveur embarqué.

    je suis dons allez dans le menu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    projet --> Options --> Repertoire/Conditions --> Conditionnels.
    J'ai tapé : $SERVER

    Ensuite dans le code, lors de la création des composants du Module de données :
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    function TFModuleBDD.CreateComponentBDD : boolean;
    // Créé les composants pour se connecter avec la base de données NexusDB
    {$IFDEF SERVER}
    var
      slList : TStringList;
      sAlias : string;
    {$ENDIF}
    begin
       result := false;
       try
         {$IFNDEF SERVER}
          showmessage('createcomponent server embarqué');
           ServeurEmbarque := TnxServerEngine.Create(FModuleBDD);
           SQLNexus := TnxSqlEngine.Create(FModuleBDD);
           ServeurEmbarque.SqlEngine := SQLNexus;
           SessionNexus := TnxSession.Create(FModuleBDD);
           SessionNexus.ServerEngine := ServeurEmbarque;
           BaseDonnee := TnxDatabase.Create(FModuleBDD);
           BaseDonnee.Session := SessionNexus;
         {$ELSE}
           TransportCS := TnxWinSockTransport.Create(FModuleBDD);
           TransportCS.RespondToBroadcasts := true;
           ServeurCS := TnxRemoteServerEngine.Create(FModuleBDD);
           ServeurCS.Transport := TransportCS;
           SessionNexus := TnxSession.Create(FModuleBDD);
           SessionNexus.ServerEngine := ServeurCS;
           BaseDonnee := TnxDatabase.Create(FModuleBDD);
           BaseDonnee.Session := SessionNexus;
           slList:=TStringList.Create;
           try
             TransportCS.GetServerNames(slList,2000);
             TransportCS.ServerName:=slList.Strings[0];
           except on E:exception do
             begin
              MessageDlg('L''application ne peut fonctionner sans serveur.'+#13+#10+
                          Application.Title+' va maintenant être fermé.',mtInformation,[mbOk],0);
              { Boite de message traduite
              MessageDlg(GetTraduction('UtilBDD','L''application ne peut fonctionner sans serveur.')+#13+#10+
                          Application.Title+GetTraduction('UtilBDD',' va maintenant être fermé.'),mtInformation,[mbOk],0);
               }
               FreeAndNil(slList);
               Application.Terminate;
               exit;
             end;
           end;
           FreeAndNil(slList);
         {$ENDIF}
    
         {$IFDEF SERVER}
           try
             SessionNexus.Connect;
    
             sAlias := 'C:\Documents and Settings\Michel\Mes documents\GestionOutil';   
             BaseDonnee.AliasPath := sAlias;
           except
           end;
         {$ENDIF}
         QueryNx := TnxQuery.Create(FModuleBDD);
         QueryNx.Database := BaseDonnee;
         TableNx := TnxTable.Create(FModuleBDD);
         TableNx.Database := BaseDonnee;
         result := true;
       except
         begin
           hLog.Add(DateToStr(Date) + '-' + TimeToStr(Time) + '-' + 'UtilBDD-CreateComponentBDD-Impossible de créer les composants de la base de données');
           result := false;
         end;
       end;
    end;
    Malheureusement je n'arrive pas à fonctionner en mode serveur embarqué ... seulement en Client/Serveur ...

    merci de votre aide.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Andorre

    Informations forums :
    Inscription : Juin 2004
    Messages : 219
    Par défaut
    Salut

    Je crois que tu dois la definir sans le $ et faire un build pour que les changements fonctionnent

    A+

  3. #3
    Membre averti
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Par défaut
    Salut,

    merci malheureusement cela ne fonctionne pas ....

    Apparement si j'enlève le $ il faut que je crée un fichier où le compilateur irait chercher ce que veut dire SERVER .... seulement je ne trouve pas d'infos, pouvant m'en dire plus, sur le web en faisant mes recherches sur directive de compilation, compilation conditionnelle ....

    ++

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Andorre

    Informations forums :
    Inscription : Juin 2004
    Messages : 219
    Par défaut
    Salut

    Bon, ce que j'ai fait:

    * File - New - Application
    * Project - Options - Directories/Conditionals - Conditionals - DEBUG
    * Je mis 1 TButton et dans son OnClick j'écris:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      {$IFDEF DEBUG}
      ShowMessage('Debug is on.');
      {$ELSE}
      ShowMessage('Debug is off.');
      {$ENDIF}
    end;
    * Project - Build
    * F9 (Run)

    Avec ça, je vois le message Debug is on. Et si je fais:

    * Project - Options - Directories/Conditionals - Conditionals - '' (effacer DEBUG)
    * Project - Build
    * F9 (Run)

    je vois le message Debug is off.



    A+

  5. #5
    Membre averti
    Inscrit en
    Février 2006
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 37
    Par défaut
    merci.

    je vais réessayer sur un projet tout neuf de le faire fonctionner en mode Embarqué.

    Si quelqu'un à d'autres informations, je suis preneur

    encore merci.

    ++

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/02/2006, 15h42
  2. Directives de compilation pour g++
    Par Jfrancois57 dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 09/11/2005, 11h23
  3. Directives de compilation (globales ?)
    Par korntex5 dans le forum Langage
    Réponses: 6
    Dernier message: 24/10/2005, 14h13
  4. directive de compilation
    Par gandf dans le forum C++Builder
    Réponses: 4
    Dernier message: 12/02/2005, 10h46
  5. Directives de compilations.
    Par ushu dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2003, 10h44

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