[Delphi 7 BDE] Erreur à la modification de NetFileDir en multithread

Vendredi 20 avril 2007

Contexte :

J’ai une DLL win32 développée avec Delphi 7, j’utilise le BDE pour les accès base de donnée (mysql, access, …). Ma DLL win32 est appelée par une application ASP.NET (développée en Delphi 2006).

La DLL doit supporter les accès multithread, car chaque fois qu’un navigateur (IE, Firefox, …) se connecte à l’application, celà résulte en un accès à la DLL dans un thread distinct, mais les ressources de la DLL sont communes.

Chaque thread dans la DLL crée un TSession pour ses accès base de données (nécéssaire pour le support multithread avec le BDE).

Chaque TSession dispose d’un dossier PrivateDir distinct, mais le dossier NetFileDir est commun à tous les objets TSession.

Problème :

Sur certains postes de travail, j’ai une erreur à l’initialisation quand je change le paramètre NetFileDir du TSession propre au thread.

Le problème ne se produit pas sur le poste de développement mais sur les postes clients sur lesquels l’application a été installée (à l’aide d’installshield express, fourni avec Delphi 7 Entreprise).

Ce problème semble lié à l’absence du fichier PDOXUSRS.NET dans le dossier C :\

Solution :

Si le changement de NetFileDir de la nouvelle session provoque une erreur, alors je retente le changement de NetFileDir ou la création de la session en désactivant la session par défaut auparavent et en mettant le NetFileDir de la session par défaut à chaine vide ’’.

Exemple de code (non fonctionnel, à adapter) :

Vos commentaires

modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?

Votre adresse email ne sera pas rendue publique sur le site. Seuls les commentaires sont publiés sur le site. Votre adresse mail est nécessaire pour que nous puissions vous répondre si vous avez une question personnelle.

Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Suivre les commentaires : RSS 2.0 | Atom

Revenir en haut