BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
21 juin 2004 à 23:34
romain_bossart11
Messages postés3Date d'inscriptionvendredi 15 juin 2007StatutMembreDernière intervention17 juin 2007
-
17 juin 2007 à 12:03
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Ensuite pour le type de projet c'est WIN32 APP qu'il faut et non du DotNet.
romain_bossart11
Messages postés3Date d'inscriptionvendredi 15 juin 2007StatutMembreDernière intervention17 juin 2007 17 juin 2007 à 11:47
Bonjour,
je débute en VC++ (Express Edition). Après avoir installé et déclaré les include et librairies, le build commence bien puis me donne les erreurs suivantes :
Registry.obj : error LNK2019: unresolved external symbol __imp__RegDeleteKeyA@8 referenced in function _DllUnregisterServer@0
Registry.obj : error LNK2019: unresolved external symbol __imp__RegCloseKey@4 referenced in function "int __cdecl WriteKeyString(struct HKEY__ *,char const *,char const *,char const *)" (?WriteKeyString@@YAHPAUHKEY__@@PBD11@Z)
Registry.obj : error LNK2019: unresolved external symbol __imp__RegSetValueExA@24 referenced in function "int __cdecl WriteKeyString(struct HKEY__ *,char const *,char const *,char const *)" (?WriteKeyString@@YAHPAUHKEY__@@PBD11@Z)
Registry.obj : error LNK2019: unresolved external symbol __imp__RegCreateKeyExA@36 referenced in function "int __cdecl WriteKeyString(struct HKEY__ *,char const *,char const *,char const *)" (?WriteKeyString@@YAHPAUHKEY__@@PBD11@Z)
TxtShExtMenu.obj : error LNK2019: unresolved external symbol __imp__DragQueryFileA@16 referenced in function "public: virtual long __stdcall CTxtShExtMenu::Initialize(struct _ITEMIDLIST const *,struct IDataObject *,struct HKEY__ *)" (?Initialize@CTxtShExtMenu@@UAGJPBU_ITEMIDLIST@@PAUIDataObject@@PAUHKEY__@@@Z)
TxtShExtProp.obj : error LNK2001: unresolved external symbol __imp__DragQueryFileA@16
TxtShExtMenu.obj : error LNK2019: unresolved external symbol __imp__ShellExecuteA@24 referenced in function "public: virtual long __stdcall CTxtShExtMenu::InvokeCommand(struct _CMINVOKECOMMANDINFO *)" (?InvokeCommand@CTxtShExtMenu@@UAGJPAU_CMINVOKECOMMANDINFO@@@Z)
Quelqu'un aurait-une idée pour m'aider à compiler ShExt ?
Merci d'avance
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 29 oct. 2004 à 15:32
Appareemnt, la vérif des flags dans CTxtShExtMenu::QueryContextMenu enpêche l'ajout de l'item dans certains cas, en enlevant :
JackosKing
Messages postés168Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention21 avril 2005 18 juil. 2004 à 13:26
apparement j'ai tous les droits admin, puisque j'ai pu installer delphi, et essayer un exemple delphi utilisant la même methode pour ajouter un item dans le menu contextuel (avec une dll) et que cet exemple marchait parfaitement.
Enfin ce n'est pas bien grave.
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 16 juil. 2004 à 21:26
sous systèmes multi-utilisateurs, l'administrateur doit autoriser ou non les extensions du shell (rajouter la dll dans la liste des autorisations dans le registre (voir dans le readme). ca vient peut-être de là.
JackosKing
Messages postés168Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention21 avril 2005 16 juil. 2004 à 13:06
je confirme mon dernier message, ca ne marche pas à mon boulot: seul les proprietés marchent.
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 14 juil. 2004 à 02:26
Le menu ajouté est "ouvrir avec notepad" (assez logique pour un .txt), il est donc facile de ne pas remarquer son ajout.
JackosKing
Messages postés168Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention21 avril 2005 13 juil. 2004 à 13:54
J'ai vérifier la la base de registre, tout semble bon! Le problême vient il du code? qqn l'a fait fonctionné sur son pc?
JackosKing
Messages postés168Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention21 avril 2005 13 juil. 2004 à 10:57
J'ai rien dit, je n'avait pas vu l'héritage:p
Bon le programme marche bien chez moi pour l'ajout de la tab des propriétés, mais pour le menu contextuel, j'ai rien:'
JackosKing
Messages postés168Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention21 avril 2005 13 juil. 2004 à 08:46
Trés bonne source, en revanche je n'ai pas compris:
Dans: DllGetClassObject(...);
on invoque à la fin:
HRESULT hResult = pClassFactory->QueryInterface(iid, ppObj);
pClassFactory->Release();
Or si j'ai bien compris:
Dans QueryInterface, on incremente le nombre de références, et dans Release, on le décrémente, et on le désalloue si il est nul.. donc en gros:
++m_dwRefCount;
puis
if(--m_dwRefCount == 0) delete this;
Là je ne comprend pas:' -> l'objet instancier devrait de suite être désalloué?
De plus, quel est le but de la méthode AddRef, sachant que sa valeur de retour ne semble pas exploitée (à la limite un inline, j'aurai compris, mais là je ne comprend pas:()?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 21 juin 2004 à 23:34
17 juin 2007 à 12:03
Je suis linuxien, et je ne connais pas encore cet outil.
Merci et a+
Romain
17 juin 2007 à 12:01
Laissez tomber mon commentaire précédent. Navré de vous avoir dérangé.
J'ai trouvé comment faire (corewin...props)
A++
17 juin 2007 à 12:00
http://www.cppfrance.com/code.aspx?ID=38359
Ensuite pour le type de projet c'est WIN32 APP qu'il faut et non du DotNet.
17 juin 2007 à 11:47
je débute en VC++ (Express Edition). Après avoir installé et déclaré les include et librairies, le build commence bien puis me donne les erreurs suivantes :
Registry.obj : error LNK2019: unresolved external symbol __imp__RegDeleteKeyA@8 referenced in function _DllUnregisterServer@0
Registry.obj : error LNK2019: unresolved external symbol __imp__RegCloseKey@4 referenced in function "int __cdecl WriteKeyString(struct HKEY__ *,char const *,char const *,char const *)" (?WriteKeyString@@YAHPAUHKEY__@@PBD11@Z)
Registry.obj : error LNK2019: unresolved external symbol __imp__RegSetValueExA@24 referenced in function "int __cdecl WriteKeyString(struct HKEY__ *,char const *,char const *,char const *)" (?WriteKeyString@@YAHPAUHKEY__@@PBD11@Z)
Registry.obj : error LNK2019: unresolved external symbol __imp__RegCreateKeyExA@36 referenced in function "int __cdecl WriteKeyString(struct HKEY__ *,char const *,char const *,char const *)" (?WriteKeyString@@YAHPAUHKEY__@@PBD11@Z)
TxtShExtMenu.obj : error LNK2019: unresolved external symbol __imp__DragQueryFileA@16 referenced in function "public: virtual long __stdcall CTxtShExtMenu::Initialize(struct _ITEMIDLIST const *,struct IDataObject *,struct HKEY__ *)" (?Initialize@CTxtShExtMenu@@UAGJPBU_ITEMIDLIST@@PAUIDataObject@@PAUHKEY__@@@Z)
TxtShExtProp.obj : error LNK2001: unresolved external symbol __imp__DragQueryFileA@16
TxtShExtMenu.obj : error LNK2019: unresolved external symbol __imp__ShellExecuteA@24 referenced in function "public: virtual long __stdcall CTxtShExtMenu::InvokeCommand(struct _CMINVOKECOMMANDINFO *)" (?InvokeCommand@CTxtShExtMenu@@UAGJPAU_CMINVOKECOMMANDINFO@@@Z)
Quelqu'un aurait-une idée pour m'aider à compiler ShExt ?
Merci d'avance
29 oct. 2004 à 15:32
if(!(uFlags&CMF_VERBSONLY) && !(uFlags&CMF_EXPLORE))
return NOERROR;
ça à l'air de marcher
18 juil. 2004 à 13:26
Enfin ce n'est pas bien grave.
16 juil. 2004 à 21:26
16 juil. 2004 à 13:06
14 juil. 2004 à 02:26
13 juil. 2004 à 13:54
13 juil. 2004 à 10:57
Bon le programme marche bien chez moi pour l'ajout de la tab des propriétés, mais pour le menu contextuel, j'ai rien:'
13 juil. 2004 à 08:46
Dans: DllGetClassObject(...);
on invoque à la fin:
HRESULT hResult = pClassFactory->QueryInterface(iid, ppObj);
pClassFactory->Release();
Or si j'ai bien compris:
Dans QueryInterface, on incremente le nombre de références, et dans Release, on le décrémente, et on le désalloue si il est nul.. donc en gros:
++m_dwRefCount;
puis
if(--m_dwRefCount == 0) delete this;
Là je ne comprend pas:' -> l'objet instancier devrait de suite être désalloué?
De plus, quel est le but de la méthode AddRef, sachant que sa valeur de retour ne semble pas exploitée (à la limite un inline, j'aurai compris, mais là je ne comprend pas:()?
21 juin 2004 à 23:34