Partage avec DLL

Résolu
delphifox Messages postés 5 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 31 mars 2005 - 31 mars 2005 à 10:40
ThierryPerretier Messages postés 103 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 6 juillet 2006 - 31 mars 2005 à 17:58
Je voudrais structurer mon projet VFP entre un EXE et plusieurs DLL.
L'EXE est en VFP et les DLL aussi. La DLL doit afficher un écran de saisie

Au niveau de la DLL j'ai le code suivant qui fonctionne très bien
DEFINE CLASS person2 AS CUSTOM OLEPUBLIC
FirstName = "test" && SPACE(30)
LastName = "1" &&SPACE(45)


PROCEDURE GetName
RETURN THIS.FirstName + " " + THIS.LastName
ENDPROC
ENDDEFINE

Je l'appelle dans l'EXE avec
oTest = CREATEOBJECT("p1.person")
MESSAGEBOX(oTest.GetName())

Par contre je ne sais pas commet ouvrir un écran au niveau de la DLL

10 réponses

ThierryPerretier Messages postés 103 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 6 juillet 2006 1
31 mars 2005 à 16:48
- Mettre les codes sources des diffèrents modules dans les dossiers séparés, ça évite des surprises.

- Pour lancer un PRG contenu dans l'APP

set procedure to module.app
do ("proc.pg") && important : les ("
ou
external procedure proc
proc(...)

- Pour lancer un formulaire, créer une procédure dans le module APP.
Par exemple

PROCEDURE doform(cForm as string)


DO FORM (m.cForm)


ENDPROC

- tu peux aussi faire des DO MODULE.APP WITH "ACTION"
Par exemple, "INIT" en argument effectuera des SET PROCEDURE / SET CLASSLIB.
3
FredArmoni Messages postés 153 Date d'inscription vendredi 2 mai 2003 Statut Modérateur Dernière intervention 2 avril 2010
31 mars 2005 à 12:19
Une DLL ne peut pas avoir d'interface utilisateur. Tu dois compiler en exe ole

[mailto:frederic.steczycki@mvps.org Fred]
membre actif d'AtoutFox
MS MVP VFP
0
delphifox Messages postés 5 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 31 mars 2005
31 mars 2005 à 13:56
OK mais je trouve cela ou ?

En option de génération j'ai app, exe, dll
0
FredArmoni Messages postés 153 Date d'inscription vendredi 2 mai 2003 Statut Modérateur Dernière intervention 2 avril 2010
31 mars 2005 à 14:30
app, exe, dll ;)

ou alors je ne comprend pas la question...

[mailto:frederic.steczycki@mvps.org Fred]
membre actif d'AtoutFox
MS MVP VFP
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
delphifox Messages postés 5 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 31 mars 2005
31 mars 2005 à 15:34
Ma question est de pouvoir partager un gros projet entre plusieurs développeurs, chacun ayant chacun en charge un domaine spécifique.
J'avais donc pensé avoir un EXE qui contiendrait le menu + quelques fonctions de base comme le login et autant de DLL que de domaines spécifiques.


J'ai fait cela sous Delphi sans problème et je ne vois pas pourquoi VFP8 serait moins puissant.
Y a t-il une solution avec des APP par domaine ?
J'ai essayé mais les PRG et les ecrans des APP remontent dans le projet principal au moment de la compilation


Merci d'avance du conseil
0
ThierryPerretier Messages postés 103 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 6 juillet 2006 1
31 mars 2005 à 15:45
Bonjour,

Pas besoin de créer des objets publics (via composant COM DLL ou EXE).

Créer plusieurs APP.

ensuite, il y a les commandes/fonctions :

SET CLASSLIB TO ....IN ...

SET PROCEDURE TO
NewObject()
DO .. IN ..
....

Qui peuvent référencer des fichiers APP
0
FredArmoni Messages postés 153 Date d'inscription vendredi 2 mai 2003 Statut Modérateur Dernière intervention 2 avril 2010
31 mars 2005 à 16:17
Tout de suite, quand on connait le problème, ça va beaucoup mieux pour répondre ;)

[mailto:frederic.steczycki@mvps.org Fred]
membre actif d'AtoutFox
MS MVP VFP
0
delphifox Messages postés 5 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 31 mars 2005
31 mars 2005 à 16:23
Créer plusieurs APP.
ensuite, il y a les commandes/fonctions :
SET PROCEDURE TO

C'est ce ce que j'ai fait mais au moment de la génération du projet principal FOX me rapatrie les modules et les écrans que j'appelle.
0
delphifox Messages postés 5 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 31 mars 2005
31 mars 2005 à 17:21
Ce devait être les (" qui me manquaient

Ca marche. Je ne peux pas dire que cela m'emballe parce que je trouve que des DLL auraient été préférables mais je peux proposer cette solution qui va permettre de lotir le projet.

Merci encore une fois de m'avoir aidé.
0
ThierryPerretier Messages postés 103 Date d'inscription mardi 5 octobre 2004 Statut Membre Dernière intervention 6 juillet 2006 1
31 mars 2005 à 17:58
On peut faire :

SET PROCEDURE TO Module.app
oModule = NewObject("person2","classes.prg")
? oModule.GetName()

Ce système est assez proche de l'appel d'une DLL. Le seul avantage d'une DLL, c'est quelle peut être exploité par un autre langage que Foxpro.
0
Rejoignez-nous