Pas d'inquiétude, avec PBAdonf, c'est dans la poche ! ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 14-01-2010 13:12:28

frichmout  
Membre Geek
Date d'inscription: 13-12-2006
Messages: 54
Pépites: 260
Banque: 0

[RESOLU] Tester si ghostscript est installé

bonjour,
comment tester en PB si ghostscript est installé ?
Je voudrais conditionner la possibilité de faire un dw_1.saveas() en format PDF! au fait que ghostcript est accessible.
Merci

Dernière modification par frichmout (14-01-2010 15:22:48)

Hors ligne

 

#2 14-01-2010 13:32:05

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Tester si ghostscript est installé

Bonjour, "installé" par un setup tu auras un dossier GS dans C:\gs\....
Mais il n'est pas nécessaire de faire l'installation classique pour imprimer en PDF puisqu'il suffit de copier le dossier ghostscript dans le répertoire de l'EXE.

Dans le premier cas, rechercher dans la base de registre :

Code: ini

[HKEY_LOCAL_MACHINE\SOFTWARE\GNU Ghostscript\7.05]
"GS_DLL"="C:\\gs\\gs7.05\\bin\\gsdll32.dll"
"GS_LIB"="C:\\gs\\gs7.05\\lib;C:\\gs\\fonts"


Dans le second cas, tester la présence du répertoire gs dans celui de l'EXE.


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#3 14-01-2010 13:45:21

frichmout  
Membre Geek
Date d'inscription: 13-12-2006
Messages: 54
Pépites: 260
Banque: 0

Re: [RESOLU] Tester si ghostscript est installé

yes sir, j'ai bien pensé au registryget() mais sur mon poste par exemple, la clef à chercher c'est :
HKEY...\Software\AFPL Ghostscript\8.51
Donc ça peut être très différent suivant le poste...
Mais je retiens ton idée dans mettre un autre dans le répertoire de l'exe, comme ça, en effet, je n'ai même plus besoin de tester !!
Par contre, je ne vois pas bien comment l'appel à gsdll32.dll se fera puisqu'elle se cache dans le sous répertoire gs8.51/bin...
Tu as déjà utilisé cette solution bestiale mais au combien tentante ?

Hors ligne

 

#4 14-01-2010 13:54:49

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Tester si ghostscript est installé

ça n'a rien de bestial (en fait ça n'est pas dans le répertoire de l'EXE, mais celui de pbdwe115.dll qui est souvent le même...)


When you save a DataWindow object as PDF using the distill method, PowerBuilder searches in the following locations for an installation of GPL or AFPL Ghostscript:

The Windows registry
The relative path of the pbdwe115.dll file (typically Sybase\Shared\PowerBuilder)
The system PATH environment variable

If GPL or AFPL Ghostscript is installed using the Ghostscript executable file, the path is added to the Windows registry.

If the Ghostscript files are in the relative path of the pbdwe115.dll file, they must be installed in this directory structure:


dirname\pbdwe115.dlldirname\gs\gsN.NNdirname\gs\fonts

where dirname is the directory that contains the runtime DLLs and N.NN represents the release version number for Ghostscript.


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#5 14-01-2010 14:24:57

frichmout  
Membre Geek
Date d'inscription: 13-12-2006
Messages: 54
Pépites: 260
Banque: 0

Re: [RESOLU] Tester si ghostscript est installé

Je comprends mieux ta réponse maintenant. Donc si mes postes clients ont une installation de runtime PB standard, il suffit que j'y rajoute une copie de l'arborescence gs/....
Question subsidiaire (que je ne peux tester sur mon poste) :
Que se passe-t-il si ghostscript n'est pas installé et que je lance tout de même, "bestialement" (puisque ça a l'air de te plaire) un dw_1.saveas() au format pdf ?

en tous cas, merci de tes réponses.

Hors ligne

 

#6 14-01-2010 14:53:34

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: [RESOLU] Tester si ghostscript est installé

frichmout a écrit:

Question subsidiaire (que je ne peux tester sur mon poste) :
Que se passe-t-il si ghostscript n'est pas installé et que je lance tout de même, "bestialement" (puisque ça a l'air de te plaire) un dw_1.saveas() au format pdf ?

jamais essayé, je suppose que tu récupères un PDF de 0 ko, ou rien du tout


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#7 14-01-2010 15:20:26

frichmout  
Membre Geek
Date d'inscription: 13-12-2006
Messages: 54
Pépites: 260
Banque: 0

Re: [RESOLU] Tester si ghostscript est installé

Je viens d'essayer en renommant  temporairement le répertoire GS en GSX.
la fonction saveas() renvoie -1 mais crée un fichier pdf de taille 0 octets.
Ma conclusion personnelle (dans le contexte de ma société où gs est censé être installé par défaut)  :
laisser l'utilisateur choisir le format pdf, faire le saveas() et enfin tester le code retour et dire à l'utilisateur qu'il lui manque sans doute le module ghostscript si le saveas a renvoyé -1.

Pour moi, le topic est résolu. Merci encore

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22