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
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 :
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.
Partager