Ahoj,
Začínám z MFC, vytvořiil jsem se objekt
CoInitialize(NULL);
hr= pXMLDom.CreateInstance(__uuidof(DOMDocument30));
pXMLDom, který je definovaný v sys knihově. Abych měl k tomuto objektu přístup odkud koliv tak jsem si vytvořil zvláštní knihovnu.
glb.h
#ifndef _glb_h_
#define _glb_h_
#import <msxml3.dll>
using namespace MSXML2;
HRESULT hr;
IXMLDOMDocumentPtr pXMLDom;
char exe_full_path[MAX_PATH], exe_drive[_MAX_DRIVE], exe_dir[_MAX_DIR], exe_ext[_MAX_EXT], exe_fname[_MAX_FNAME];
#endif
Také jsem zde dal i další globální proměnné
Když tento h soubor připojil do více cpp soubor tak mě vyjel výpis:
Protože mě padal chyba při linkování dal jsem parametr /FORCE:MULTIPLE a výpis byl takový to.:
MyWindDlg.obj : warning LNK4006: "long hr" (?hr@@3JA) already defined in MyWind.obj; second definition ignored
MyWindDlg.obj : warning LNK4006: "class _com_ptr_t<class _com_IIID<struct MSXML2::IXMLDOMDocument,&struct __s_GUID _GUID_2933bf81_7b36_11d2_b20e_00c04f983e60> > pXMLDom" (?pXMLDom@@3V?$_com_ptr_t@V?$_com_IIID@UIXMLDOMDocument@MSXML2@@$1?_GUID_2933bf
81_7b36_11d2_b20e_00c04f983e60@@3U__s_GUID@@A@@@@A) already defined in MyWind.obj; second definition ignored
MyWindDlg.obj : warning LNK4006: "char * exe_full_path" (?exe_full_path@@3PADA) already defined in MyWind.obj; second definition ignored
MyWindDlg.obj : warning LNK4006: "char * exe_drive" (?exe_drive@@3PADA) already defined in MyWind.obj; second definition ignored
MyWindDlg.obj : warning LNK4006: "char * exe_dir" (?exe_dir@@3PADA) already defined in MyWind.obj; second definition ignored
MyWindDlg.obj : warning LNK4006: "char * exe_ext" (?exe_ext@@3PADA) already defined in MyWind.obj; second definition ignored
MyWindDlg.obj : warning LNK4006: "char * exe_fname" (?exe_fname@@3PADA) already defined in MyWind.obj; second definition ignored
Proměnná char fungují normálě, pXMLDom fnuguje, ale při ukončení aplikaci skočí "program vykonal neplatnou operaci ..."