Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Cherche un équivalent de la fonction CommonDialog sous Windows NT4

6 réponses
Avatar
Maurice KRAIT
Bonsoir,
Je développe une application avec ACCESS 97. J'ai besoin de sélectionner
un fichier à l'intérieur d'un répertoire déterminé . La solution sous
Windows 98 est simple : on utilise le contrôle Common Dialog.
Malheureusement pour ce client-là, il faut trouver une solution sous
Windows NT4. Le contrôle Common Dialog n'est pas fourni sous Wndows NT4,
ou bien alors, quelqu'un peut'il me dire comment l'installer. J'ai
installé le Service Pack 6 de Windows NT4.
J'essaie donc de trouver une solution pour Windows NT4 . Est-ce que
quelqu'un aurait une solution toute faite ? si oui, grand merci d'avance.
J'ai essayé de me construire une solution : je construis une liste
modifiable ZL contenant tous les noms de fichiers du répertoire imposé
par des appels à la fonction Dir. Ensuite j'attends que l'utilisateur
sélectionne un des éléments de la liste dans une boucle contenant un Do
Events() et un test If ZL.ListIndex <> -1 indiquant qu'un élément a
été sélectionné; le nom du fichier sélectionné est alors fourni par
ZL.List(ZL.ListIndex). Cette procédure fonctionne corectement sous
Windows 98. Sous Windows NT4, la sélection s'effectue bien mais en fin
de procédure le formulaire qui appelait la procédure et affiche la liste
ZL reste bloqué; je ne peux plus que fermer le formulaire par le bouton
Fermer et un message m'indique qu'une erreur s'est produite et que je ne
peus pas enregistrer les modifications. Il me manque peut-être des
instructions de libérations d'objets mais je n'ai pas encore trouvé
lesquels.
En résumé, je souhaiterais dans l'ordre des préférences :
- une solution générale fournissant l'équivalent du contrôle Common Dialog
- des suggestions sur la manière de débloquer la procédure que j'ai
developpée.

Merci d'avance pour toute réponse à ce problème.

Maurice

6 réponses

Avatar
Benoit Compoint [MS]
Bonjour,

En fait le contrôle COMDLG32.OCX n'est pas fourni avec Windows 98 ni avec
Windows NT 4.0.
S'il est présent sur votre poste Windows 98, et surtout si vous avez pu
insérer ce contrôle dans un formulaire Access 97, c'est parce que vous
possédez un outil de développement Microsoft, comme Microsoft Visual Basic
ou Microsoft Office Edition Développeur.
Dans ce cas vous avez le droit de redistribuer le contrôle COMDLG32.OCX avec
votre application Access 97.

Vous pouvez aussi installer le contrôle COMDLG32.OCX sur Windows NT 4.0 en
téléchargeant le fichier COMDLG32.CAB :
http://activex.microsoft.com/controls/vb6/comdlg32.cab

Extrayez ensuite (dans un même dossier) les fichiers COMDLG32.OCX et
COMDLG32.INF du fichier COMDLG32.CAB, puis installer ce contrôle en cliquant
sur le fichier COMDLG32.INF avec le bouton droit de la souris puis en
choisissant la commande "Installer".

Benoît Compoint


"Maurice KRAIT" wrote in message
news:3fecb08c$0$6976$
Bonsoir,
Je développe une application avec ACCESS 97. J'ai besoin de sélectionner
un fichier à l'intérieur d'un répertoire déterminé . La solution sous
Windows 98 est simple : on utilise le contrôle Common Dialog.
Malheureusement pour ce client-là, il faut trouver une solution sous
Windows NT4. Le contrôle Common Dialog n'est pas fourni sous Wndows NT4,
ou bien alors, quelqu'un peut'il me dire comment l'installer. J'ai
installé le Service Pack 6 de Windows NT4.
J'essaie donc de trouver une solution pour Windows NT4 . Est-ce que
quelqu'un aurait une solution toute faite ? si oui, grand merci d'avance.
J'ai essayé de me construire une solution : je construis une liste
modifiable ZL contenant tous les noms de fichiers du répertoire imposé
par des appels à la fonction Dir. Ensuite j'attends que l'utilisateur
sélectionne un des éléments de la liste dans une boucle contenant un Do
Events() et un test If ZL.ListIndex <> -1 indiquant qu'un élément a
été sélectionné; le nom du fichier sélectionné est alors fourni par
ZL.List(ZL.ListIndex). Cette procédure fonctionne corectement sous
Windows 98. Sous Windows NT4, la sélection s'effectue bien mais en fin
de procédure le formulaire qui appelait la procédure et affiche la liste
ZL reste bloqué; je ne peux plus que fermer le formulaire par le bouton
Fermer et un message m'indique qu'une erreur s'est produite et que je ne
peus pas enregistrer les modifications. Il me manque peut-être des
instructions de libérations d'objets mais je n'ai pas encore trouvé
lesquels.
En résumé, je souhaiterais dans l'ordre des préférences :
- une solution générale fournissant l'équivalent du contrôle Common Dialog
- des suggestions sur la manière de débloquer la procédure que j'ai
developpée.

Merci d'avance pour toute réponse à ce problème.

Maurice



Avatar
J-Pierre
Bonjour Maurice,

Oui, j'ai fait un truc comme ça, un formulaire pour sélectionner un disque dur puis un répertoire sur la machine locale (pas de
support pour le réseau), j'utilise FSO, évidemment, ce n'est pas aussi beau et perfectionné que l'API de Bill, mais normalement, ça
devrait marcher avec Access 97.

Si tu as une adresse email et une connexion à Internet, envoie-moi un mail.:-)))

J-Pierre

"Maurice KRAIT" a écrit dans le message de news: 3fecb08c$0$6976$
Bonsoir,
Je développe une application avec ACCESS 97. J'ai besoin de sélectionner
un fichier à l'intérieur d'un répertoire déterminé . La solution sous
Windows 98 est simple : on utilise le contrôle Common Dialog.
Malheureusement pour ce client-là, il faut trouver une solution sous
Windows NT4. Le contrôle Common Dialog n'est pas fourni sous Wndows NT4,
ou bien alors, quelqu'un peut'il me dire comment l'installer. J'ai
installé le Service Pack 6 de Windows NT4.
J'essaie donc de trouver une solution pour Windows NT4 . Est-ce que
quelqu'un aurait une solution toute faite ? si oui, grand merci d'avance.
J'ai essayé de me construire une solution : je construis une liste
modifiable ZL contenant tous les noms de fichiers du répertoire imposé
par des appels à la fonction Dir. Ensuite j'attends que l'utilisateur
sélectionne un des éléments de la liste dans une boucle contenant un Do
Events() et un test If ZL.ListIndex <> -1 indiquant qu'un élément a
été sélectionné; le nom du fichier sélectionné est alors fourni par
ZL.List(ZL.ListIndex). Cette procédure fonctionne corectement sous
Windows 98. Sous Windows NT4, la sélection s'effectue bien mais en fin
de procédure le formulaire qui appelait la procédure et affiche la liste
ZL reste bloqué; je ne peux plus que fermer le formulaire par le bouton
Fermer et un message m'indique qu'une erreur s'est produite et que je ne
peus pas enregistrer les modifications. Il me manque peut-être des
instructions de libérations d'objets mais je n'ai pas encore trouvé
lesquels.
En résumé, je souhaiterais dans l'ordre des préférences :
- une solution générale fournissant l'équivalent du contrôle Common Dialog
- des suggestions sur la manière de débloquer la procédure que j'ai
developpée.

Merci d'avance pour toute réponse à ce problème.

Maurice



Avatar
Maurice KRAIT
Benoit Compoint [MS] a écrit:

Bonjour,

En fait le contrôle COMDLG32.OCX n'est pas fourni avec Windows 98 ni avec
Windows NT 4.0.
S'il est présent sur votre poste Windows 98, et surtout si vous avez pu
insérer ce contrôle dans un formulaire Access 97, c'est parce que vous
possédez un outil de développement Microsoft, comme Microsoft Visual Basic
ou Microsoft Office Edition Développeur.
Dans ce cas vous avez le droit de redistribuer le contrôle COMDLG32.OCX avec
votre application Access 97.

Vous pouvez aussi installer le contrôle COMDLG32.OCX sur Windows NT 4.0 en
téléchargeant le fichier COMDLG32.CAB :
http://activex.microsoft.com/controls/vb6/comdlg32.cab

Extrayez ensuite (dans un même dossier) les fichiers COMDLG32.OCX et
COMDLG32.INF du fichier COMDLG32.CAB, puis installer ce contrôle en cliquant
sur le fichier COMDLG32.INF avec le bouton droit de la souris puis en
choisissant la commande "Installer".

Benoît Compoint

.............................................................

Effectivement j'ai Visual Basic 6 installé sous Windows 98. Je pensais

que les contrôles Ocx ou autres étaient fournis avec Windows car quand
j'ai voulu utiliser une ListBox ou quqlque chose comme ça pour ACCESS
sous Windows NT4, initialement je n'y avais pas accès, et autant que je
me souvienne, j'ai pu récupérer de nouveaux contrôles après avoir
installé le Service Pack SP6 de Windows NT4.
Merci pour l'adresse de chargement que vous m'avez donnée ci-dessus;
cependant je n'arrive pas à installer le contrôle COMDLG32.ocx; après le
clic sur COMDLG32.inf; je trouve dans la liste des bibliothèques
disponibles dans ACCESS (menu Outils/référence) la ligne concernant le
contrôle Common Dialog marqué manquant bien que le chemin associé soit
bien celui du fichier COMDLG32.ocx.
Est-ce que ce fichier n'est pas adapté à l'environnement Windows NT4 ?
Merci de votre réponse.

Maurice

Avatar
Maurice KRAIT
J-Pierre a écrit:

Bonjour Maurice,

Oui, j'ai fait un truc comme ça, un formulaire pour sélectionner un disque dur puis un répertoire sur la machine locale (pas de
support pour le réseau), j'utilise FSO, évidemment, ce n'est pas aussi beau et perfectionné que l'API de Bill, mais normalement, ça
devrait marcher avec Access 97.

Si tu as une adresse email et une connexion à Internet, envoie-moi un mail.:-)))

J-Pierre

"Maurice KRAIT" a écrit dans le message de news: 3fecb08c$0$6976$


Bonsoir,
Je développe une application avec ACCESS 97. J'ai besoin de sélectionner
un fichier à l'intérieur d'un répertoire déterminé . La solution sous
Windows 98 est simple : on utilise le contrôle Common Dialog.
Malheureusement pour ce client-là, il faut trouver une solution sous
Windows NT4. Le contrôle Common Dialog n'est pas fourni sous Wndows NT4,
ou bien alors, quelqu'un peut'il me dire comment l'installer. J'ai
installé le Service Pack 6 de Windows NT4.
J'essaie donc de trouver une solution pour Windows NT4 . Est-ce que
quelqu'un aurait une solution toute faite ? si oui, grand merci d'avance




Je suis intéressé par toute solution qui marche car pour l'instant je
sèche. Je n'ai pas encore réussi à installer la solution indiquée
obligeamment par Benoît Compoint ci-dessus; d'ailleurs, même si
j'arrive à la faire marcher, je suis intéressé par une solution de
rechange et aussi pour m'aider à comprendre pourquoi la procédure que
j'ai écrite ne fonctionne pas.
Merci beaucoup si vous pouvez me faire parvenir votre solution.
Mon adresse e-mail est donnée dans mon post initial mais je vous envoye
aussi un mail directement.
Que veux-dire FSO ?
Merci d'avance.

Maurice


Avatar
J-Pierre
Bonsoir Maurice

Tu mets ta vraie adresse email dans tes posts surr le NG ? Tu dois aimer les virus.... :-))))

FSO, ça veut dire File System Object, c'est un modèle d'objet pour bidouiller dans tes disques durs.

J-Pierre
Avatar
Maurice KRAIT
J-Pierre a écrit:

Bonsoir Maurice

Tu mets ta vraie adresse email dans tes posts surr le NG ? Tu dois aimer les virus.... :-))))

FSO, ça veut dire File System Object, c'est un modèle d'objet pour bidouiller dans tes disques durs.

J-Pierre





Je sais, c'est une erreur qui ne m'a frappé qu'il y a peu de temps,
maispas à cause des virus, mais à cause des spams.
Je n'ai jamais de virus, à mon avis , pour deux raisons combinées :
1° parce que j'ai un antivirus toujours à jour ( Norton, malgré tout
le mal qu'on en dit dans certains forums)
2° parce que je n'utilise pas Internet Explorer qui est la cible de la
majorité des hackers, mais Netscape.

Amicalement

Maurice