Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/06/2005, 13h52   #1
Invité de passage
 
Inscription : février 2004
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 11
Points : 3
Points : 3
Par défaut [Forms5]ouvrir un executable sur un poste client

Bonjour,
J'aurai besoin de votre aide concernant l'ouverture d'un exécutable sur un poste client sans connaître le path de celui-ci.
Je vous explique :
J'ai une forme en teste qui envoie des données vers MS WORD en utilisant DDE. Jusque là ça va puisque DDE.app_begin ('truc\winword.exe', show...); -> le path (truc) je le connais sur mon poste. Là où ça se gate, c'est que je suis incapable de le récupérer sur un autre poste.
J'ai essayé d'ouvrir Word avec un host, win_api_shell.winexec sans succés s'il n'y a pas le path.

Dans la bdr, à priori le chemin dépend de la version d'office --> donc par là c'est chaud aussi.

Toutes vos lumières me sont utiles
PS : Si je ne m'adresse pas au bon forum, merci de me le signaler.

Merci d'avance pour votre aide
anthony8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2005, 14h02   #2
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Avec la commande START vous n'aurez pas de problème de path

Code :
Host( 'CMD /C START "xx" Winword.exe ...' ) ;
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2005, 14h26   #3
Invité de passage
 
Inscription : février 2004
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 11
Points : 3
Points : 3
Effectivement ça marche.
j'ai fait
Code :
1
2
 
host( 'CMD /C START "xx" Winword.exe');
ça m'ouvre bien Word avec un doc vide.

Par contre, derrière j'utilise un DDE, et là ça cloche.
la Forme n'ouvre pas le modèle, ni le taf qui suit

Pour avoir une idée un peu plus précise je colle le code
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
-- appid := DDE.APP_BEGIN ('C:\Program Files\Microsoft Office\Office10\winword.exe', DDE.APP_MODE_MINIMIZED);
host ('CMD /C START "xx" winword.exe');
 
 convid := DDE.INITIATE ('WINWORD', 'SYSTEM');
 
 DDE.execute (convid, '[FileOpen "c:\temp\cdi_tp.dot"]', 10000);
 
 docid := DDE.INITIATE ('WINWORD', 'c:\temp\cdi_tp.dot');
 
 DDE.POKE (DOCID, 'AGENT1', nom_pren, DDE.CF_TEXT, 10000);
 DDE.POKE (DOCID, 'COMMUNE', commune, DDE.CF_TEXT, 10000);
 DDE.POKE (DOCID, 'DUREE_ESSAI', duree_essai, DDE.CF_TEXT, 10000);
 DDE.POKE (DOCID, 'DATE_FIN_ESSAI', date_fin_essai, DDE.CF_TEXT, 10000);
 DDE.POKE (DOCID, 'COEF', coef, DDE.CF_TEXT, 10000);
 DDE.POKE (DOCID, 'BASE_MENSUEL', base_mensuel, DDE.CF_TEXT, 10000);
 DDE.POKE (DOCID, 'RENDEMENT', rendement, DDE.CF_TEXT, 10000);
 
 DDE.EXECUTE (docid, '[FileSaveAs "c:\temp\test_word.doc"]', 10000);
 
 DDE.TERMINATE (convid);
 
/* Les exceptions */
 EXCEPTION 
 WHEN DDE.DDE_APP_FAILURE THEN
    a_info ('Word n''a pas démarrer');
 WHEN DDE.DDE_PARAM_ERR THEN
    a_info ('Un paramètre Null a été passé au DDE');
 WHEN DDE.DMLERR_NO_CONV_ESTABLISHED THEN
    a_info ('DDE n''a pas pu établir la conversation');
 WHEN DDE.DMLERR_NOTPROCESSED THEN
    a_info ('La transaction a échoué');
 WHEN OTHERS THEN
    a_info ( 'Ou est égal à : *** '||ou||' ***');
    RAISE FORM_TRIGGER_FAILURE;
Si vous avez une idée, je suis une nouvelle fois preneur.
Merci encore pour votre aide
anthony8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h05.


 
 
 
 
Partenaires

Hébergement Web