Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Est-il possible de récupérer la propriété "Modèle" que l'on peut voir lorsque l'on est sur l'écran de liste des imprimantes (sous Windows XP) ?
Je vous explique mon souci :
Mon application doit pouvoir gérer 2 versions distinctes d'un même générateur de PDF.
Le Hic est qu'ils n'utilisent pas les mêmes DLL, alors forcément, lorsque je souhaite récupérer le numéro de version de cet outil, çà coince un coup sur deux...
Exemple de déclaration de fonctions externes :
En version 2.0 ce serait : Function long DriverInit (string Printer ) Library "MonFichier.dll" alias for "DriverInit;Ansi"
En version 3.0 ce serait : Function long DriverInit3 (string Printer ) Library "MonFichier300.dll" alias for "DriverInit;Ansi" (renommé pour éviter le duplicate subroutine)
J'ai constaté que le générateur de PDF inscrivait son numéro de version dans la fameuse propriété modèle de l'imprimante.
Cependant, si vous avez une meilleure idée, je suis preneur.
Merci d'avance,
Sebastouche
Hors ligne
Bonjour Sebastouche,
As-tu regardé dans la base de registre si tu ne trouves pas le numéro de version de ton générateur Pdf?
Ce serait plus simple à gérer, grâce aux fonctions "registry" de PB.
Hors ligne
salut,
il n'y a pas de fonctions external qui te permet de determiner la version de ton generateur de pdf ?
Hors ligne
Bonjour,
Dans la base de registre, il ne semble pas y avoir de clé ou valeur qui me permette à coup sûr de récupérer le numéro de version.
Effectivement, je vais peut-être pouvoir m'en sortir en identifiant le numéro de version des DLL. Je dois chercher çà dans KERNEL32.DLL ?
A tout zazard, quelqu'un la connaitrait-il ?
Merci d'avance,
Seb
Hors ligne
Hors ligne
Réponse du service technique du produit :
The GetVersionInformation function was introduced as of version 2.10 and is not available in earlier versions.
Another way that you can tell the version is by checking the name of the dll that is in the windows\system directory. As of version 2.10 the dlls were named according to the version being installed e.g. cdintf210.dll, cdintf250.dll, cdintf300.dll
Je dois hélas gérer les version 2.08 et 3.01 ...
Sebastouche
Hors ligne