Héritage depuis une dll

elvom Messages postés 6 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 4 août 2006 - 22 juin 2006 à 16:03
Mike Gagnon Messages postés 381 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 24 octobre 2013 - 23 juin 2006 à 17:09
Bonjour,

Je travaille sur un projet VFP9.0 (nommé GTI) qui utilise une dll d'un autre projet VFP9.0 (nommé RFE)
Je n'arrive pas à créer une classe fille d'une classe présente dans la dll
J'ai déjà essayé tout ça mais rien ne fonctionne :
DEFINE CLASS MaClasseFille as "MaClasseMere" of "RFE"
DEFINE CLASS MaClasseFille as MaClasseMere of RFE
DEFINE CLASS MaClasseFille as "RFE.MaClasseMere"
DEFINE CLASS MaClasseFille as RFE.MaClasseMere

Pour info j'arrive à créer une instance d'une classe présente dans la dll comme ceci :
LOCAL loMonInstance as "RFE.MaClasseMere"
loMonInstance = CREATEOBJECT("RFE.MaClasseMere")

Merci d'avance pour votre aide.

3 réponses

Mike Gagnon Messages postés 381 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 24 octobre 2013 2
23 juin 2006 à 13:49
Si c'est un DLL créer avec Foxpro, la méthode pour faire appel au DLL
(qui est strictement un COM (exe) avec un autre extension) est:

loMonInstance = CREATEOBJECT("RFE.MaClasseMere")

loMonInstance.maMethode()

Mike Gagnon
0
elvom Messages postés 6 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 4 août 2006
23 juin 2006 à 14:14
Merci Mike pour cette réponse mais ce n'est malheureusement pas la solution que j'attendais puisque comme je l'indique, j'arrive à créer une instance d'une classe présente dans une DLL.

Ma problématique est la suivante : comment hériter d'une classe présente dans une DLL ? Concrètement, j'aimerai faire un .prg qui commencerait par quelque chose ressemblant à "DEFINE CLASS MaClasse AS "maDLL.LaClasseDansMaDLL"
0
Mike Gagnon Messages postés 381 Date d'inscription vendredi 15 octobre 2004 Statut Membre Dernière intervention 24 octobre 2013 2
23 juin 2006 à 17:09
Je vais repeter differemment ma réponse. Les DLL créer avec FoxPro ne
s'utilise pas comme les autres type de DLL créer en C ou C++. Les DLL
FoxPro s'utilise comme un COM FoxPro, il faut créer un instance du DLL
avec createobject() et non #DEFINE. Mais si tu peux accéder au
fonctionniltés du DLL avec createobject() je ne vois pas la difference.
Le résultat est le meme.

Si tu veux utliser #DEFINE alors refait ton DLL en C++.

Mike Gagnon
0
Rejoignez-nous