Build Exe

[Résolu]
Signaler
Messages postés
30
Date d'inscription
dimanche 5 mars 2006
Statut
Membre
Dernière intervention
13 septembre 2013
-
Messages postés
30
Date d'inscription
dimanche 5 mars 2006
Statut
Membre
Dernière intervention
13 septembre 2013
-
Bonjour,

Je devrais compiler un projet1 en un fichier executable, à partir d'un autre executable2 fox.

Pour les détails, ce programme (2) va mettre à jour un dbf qui doit absolument être contenu dans le .exe du projet1 pour ne pas être visible. Je souhaiterais donc effectuer la compilation du projet1 automatiquement après mise à jour de la table.

Le problème est que la commande BUILD EXE ne semble pas être acceptée quand elle est appelée d'un programme compilé. Quand je fais un RUN du programme2, ça marche très bien, mais quand il est compilé en exécutable, j'ai le message "Fonctionnalité non disponible.".

Quelqu'un a-t-il un moyen de contourner ce programme ?

Merci d'avance!
Michael
A voir également:

7 réponses

Messages postés
30
Date d'inscription
dimanche 5 mars 2006
Statut
Membre
Dernière intervention
13 septembre 2013

En fait, c'est volontaire de la part de Microsoft:

http://msdn.microsoft.com/en-us/library/aa975605(VS.71).aspx

Il n'y a donc pas moyen de contourner ça. Si quelqu'un a une idée elle est toujours bienvenue, mais pour l'instant, j'ai fait un .app et là ça fonctionne :)

Cordialement,
Michael
Messages postés
828
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
7 mai 2013
1
Bonjour,

je pense qu'il faut utiliser l'objet Project, et utiliser sa méthode Build.

quelque chose comme:
modify project monprojet noshow nowait
monprojet.build(...)

un objet de la classe Project est créé par la commande modif project, et le noshow te permet d'utiliser dans la suite de ton code l'objet créé

regarde l'aide aux rubriques Project Manager HooksProject Object Hierarchy, Build Method et ActiveProject Property
Messages postés
30
Date d'inscription
dimanche 5 mars 2006
Statut
Membre
Dernière intervention
13 septembre 2013

Bonjour,

Le problème est le même.

Quand j'exécute le code dans Visual Foxpro, via la commande DO, tout se passe bien.

Mais dès que je compile un exécutable, une exception est levée sur la ligne MODIFY PROJECT: "Fonctionnalité non disponible."

Pourtant, dans l'aide, ils partlent d'utiliser cette commande "at design time and at run time"...
Messages postés
30
Date d'inscription
dimanche 5 mars 2006
Statut
Membre
Dernière intervention
13 septembre 2013

Et désolé pour les sauts de lignes...
J'ecris un texte structuré, mais la textbox enlève mes sauts de lignes.
Peut-être qu'avec la 'classic' ?
Messages postés
30
Date d'inscription
dimanche 5 mars 2006
Statut
Membre
Dernière intervention
13 septembre 2013

Bonjour,

J'ai cherché sans trouver de solution à mon problème...
Personne n'a une idée ?
Pour rappel, ça marche très bien quand j'exécute dans Visual Foxpro, mais dès que je compile un exécutable, MODIFY PROJECT ou BUILD EXE lèvent une exception...
Merci encore pour toute aide apportée.

Michael
Messages postés
41
Date d'inscription
mercredi 6 octobre 2004
Statut
Membre
Dernière intervention
18 octobre 2011

Bonjour,


Il faut la licence VFP pour compiler.
Alors que l'exécution d'un EXE, seul le runtime suffit.
Il semble donc normal que certaines commandes de l'environnement de developpement ne soient pas accessibles en runtime.


Pour comprendre ton besoin : pourquoi veux tu compiler en dehors de l'environnement de développement ?


Cordialement
Francis
Messages postés
30
Date d'inscription
dimanche 5 mars 2006
Statut
Membre
Dernière intervention
13 septembre 2013

J'ai +- expliqué au début du topic.

L'exécution d'un programme pgm1 (que je distribue) dépend fortement du contenu d'une table. Je ne veux pas que cette table soit visible par l'utilisateur, donc je l'inclus dans l'exe.

Cette même table est alimentée par un autre programme, qui reste sur ma machine(c'est pourquoi j'ai pu me débrouiller avec un .app - chaque fois ouvrir le pjx et faire Run prend plus de temps ;-) ). Cette autre programme va donc modifier la table, et recompiler pgm1. J'aurais aimé faire un .exe, mais ça ne fonctionne pas même si je l'exécute de ma machine... Et j'ai donc appris ce matin via le site MSDN que c'était normal !