ActiveX : Partage de connexion

lbensch Messages postés 55 Date d'inscription vendredi 1 avril 2005 Statut Membre Dernière intervention 10 juin 2010 - 7 oct. 2005 à 16:03
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 - 11 oct. 2005 à 16:21
Bonjour,

Je dois créer un ActiveX qui se connecte à une base de données, afin, que plusieurs executables puisse partager la même connexion (une session Oracle).

Mais je n'arrive ni à créer un ActiveX et encore moins à défnir un TDatabase comme propriété !

Est-ce que quelqu'un aurait déjà fait ce genre de tavail ou aurait une idée de la réalisation.

Merci, en espérant sur votre aide.

7 réponses

cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
7 oct. 2005 à 17:48
Même avec un ActiveX, vu que tu va l' utiliser sur plusieurs exe, à chaque fois tu vas créer une nouvelle connexion (sauf erreur).
0
lbensch Messages postés 55 Date d'inscription vendredi 1 avril 2005 Statut Membre Dernière intervention 10 juin 2010
10 oct. 2005 à 08:27
Justement, je voudrais pouvoir passer une connexion ouverte et pouvoir la réutiliser, en mettant le TDatabase en paramètre.

J'avais pensé à une autre solution : Une DLL avec un espace mémoire partagée, dans lequel je copirais le TDatabase et ensuite je pourrais le récuperer lors des besoins.
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
11 oct. 2005 à 12:48
Le problème est que le "code" de la DLL n' a qu' 1 copie en mémoire (c' est le principe d' 1 dll) mais que ses variables et objets sont dupliqués par chaque programme qui appelle cette dll.
Pour expliquer, crées 2 fonctions dans ta dll, 1 pour lire une variable et l' autre pour y écrire sa valeur.
Si tu appelles ces 2 fonctions dans 2 programmes (ou le même avec 2 instances), tu manipules pas 1 variable mais 2 ! Une pour chaque programme...
0
lbensch Messages postés 55 Date d'inscription vendredi 1 avril 2005 Statut Membre Dernière intervention 10 juin 2010
11 oct. 2005 à 13:47
J'ai effectivement compris cela en grattant un peu, mais il doit bien y avoir un moyen de faire en sorte que plusieurs programmes (exe) utilisent la même connexion à une base de données en evitant de préférence MIDAS car je ne veux pas utiliser le BDE.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
11 oct. 2005 à 14:49
Je ne pense pas que se soit possible... Ton problème serait-il le nombre maximum de connexions? Combien d' exe tu fais tourner? sur combien de PCs?

Je risque d' avoir le même problème si mes utilisateurs augmentent ... J' ai moi aussi divisé mon appli en plusieurs exe pour la facilité de codage+mise à jour du code. A+
0
lbensch Messages postés 55 Date d'inscription vendredi 1 avril 2005 Statut Membre Dernière intervention 10 juin 2010
11 oct. 2005 à 16:03
Le principe est simplement d'ajouter une option à mon application, mais comme mon application tourne sous Oracle, et vu la taille de mes clients, Oracle les factures à la connexion. Donc, je ne peux pas me permettre de dire aux clients qu'ils doivent acheter deux fois plus de licences s'ils prennent l'option, d'où mon besoin : Une seule connexion pour mon appli et mon option.

Je reste persuadé que ceci est possible, je ne dois pas être le premier a avoir ce besoin. Mais je n'arrive pas à trouver de solution que ce soit dans les forums, site spécialisés, Borland, Oracle, etc...

Et vu les contraintes de coût liées à Oracle, je vais me retrouver obligé de mettre mon option dans mon application ou en bpl dynamique, perdant ainsi l'objectif qui était de pouvoir développer mon option avec D2005 .Net alors que mon application est en D5.
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
11 oct. 2005 à 16:21
Je vois quel est ton problème ...
Mais si les options tournent sur le même PC, on a un client avec 2 connexions. Donc, une license suffit.
0
Rejoignez-nous