| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2054 人关注过本帖
标题:[求助]IXMLDOMDocumentPtr的save方法是用问题
只看楼主 加入收藏
追忆
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-11-18
收藏
 问题点数:0 回复次数:7 
[求助]IXMLDOMDocumentPtr的save方法是用问题
void Report::savehtml(const char* m_filename,const char* m_description)
{
IXMLDOMDocumentPtr pXMLDom;
tempDatabase.init("ZHUIYI","Report","","");//连接数据库
CreateDirectory("C:\\Rport",NULL);
time_t t;
t = time(NULL);
char tempBuildTime[32];
strftime(tempBuildTime, sizeof(tempBuildTime),"%Y-%m-%d %H:%M:%S", localtime(&t));
char tempPath[32];
sprintf(tempPath,"C:\\Report\\%s.htm",m_filename);
temp.SaveReportFilesInfo(m_filename,tempPath,tempBuildTime,m_description);//保存数据
hr = pXMLDom->save(_variant_t(&tempPath));
if (FAILED(hr))
{
printf("Save Failed \n");
}
else
{
printf("Save Successful\n");
}
if (pXMLDom) pXMLDom.Release();
}
运行的警告:
warning C4305: 'argument' : truncation from 'char (*)[32]' to 'bool'
warning C4800: 'char (*)[32]' : forcing value to bool 'true' or 'false' (performance warning)

问题是没有在C:\Report文件夹下生成任何文件,如果换成hr = pXMLDom->save("C:\\Report\\chart.htm");没有任何警告)便可以在C:\Report下生成chart.htm。这是为什么啊?希望各位解答

/*************************************************************************************************************************/
save方法的原型:
inline HRESULT MSXML2::IXMLDOMDocument::save ( const _variant_t & destination ) {
HRESULT _hr = raw_save(destination);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));

[此贴子已经被作者于2006-5-25 13:33:56编辑过]

搜索更多相关主题的帖子: save 
2006-05-25 13:28
追忆
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-11-18
收藏
得分:0 
没人回答?

不积跬步,无以至千里~!
2006-05-26 08:48
aogun
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:638
专家分:0
注 册:2006-4-5
收藏
得分:0 
hr = pXMLDom->save(_variant_t(&tempPath));
错误就在于应该把里面的&去掉
_variant_t对字符串的构造函数是_variant_t(const char* pSrc),只是一维指针

世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-05-26 09:11
追忆
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-11-18
收藏
得分:0 
以下是引用aogun在2006-5-26 9:11:00的发言:
hr = pXMLDom->save(_variant_t(&tempPath));
错误就在于应该把里面的&去掉
_variant_t对字符串的构造函数是_variant_t(const char* pSrc),只是一维指针

我试过了去掉& 编译可以通过但是 运行 有错误无法生成exe 如下:
Debug Error!
program:F:\EXAMPLE\KTPReport|Debug|KTPReport.exe
abnormal program termination
(press Retry to debug the application)


不积跬步,无以至千里~!
2006-05-26 11:19
aogun
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:638
专家分:0
注 册:2006-4-5
收藏
得分:0 
你调试一下试试,我用过_variant_t的,刚试了一下,用cout输出没错误

世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-05-26 12:02
追忆
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-11-18
收藏
得分:0 
以下是引用aogun在2006-5-26 12:02:00的发言:
你调试一下试试,我用过_variant_t的,刚试了一下,用cout输出没错误

我调试了能出来 运行的时候就不行了 如果用
hr = pXMLDom->save(_variant_t(&tempPath));
调试tempPath的时候cout也能出来也没有错误 运行时也没有错误 但是就是文件夹没有我要的文件 文件夹是空的。


不积跬步,无以至千里~!
2006-05-26 13:26
aogun
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:638
专家分:0
注 册:2006-4-5
收藏
得分:0 

是吗?你试试运行下面一个程序
[CODE]#include<iostream.h>
#include <comutil.h>
void main()
{
char sztest[32]="This is a test";
_variant_t t1(&sztest);
_variant_t t2(sztest);
cout<<t1.operator _bstr_t()<<endl;
cout<<t2.operator _bstr_t()<<endl;
}[/CODE]
我的输出是:
-1
This is a test

即是说t1中根本没有转换进字符串


世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。
2006-05-26 14:47
追忆
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-11-18
收藏
得分:0 

我运行了你得程序之后出现了如下错误:
--------------------Configuration: qqq - Win32 Debug--------------------
Compiling...
qqq.cpp
F:\EXAMPLE\qqq\qqq.cpp(10) : warning C4305: 'argument' : truncation from 'char (*)[32]' to 'bool'
F:\EXAMPLE\qqq\qqq.cpp(10) : warning C4800: 'char (*)[32]' : forcing value to bool 'true' or 'false' (performance warning)
Linking...
qqq.obj : error LNK2001: unresolved external symbol "void __stdcall _com_issue_error(long)" (?_com_issue_error@@YGXJ@Z)
qqq.obj : error LNK2001: unresolved external symbol "char * __stdcall _com_util::ConvertBSTRToString(unsigned short *)" (?ConvertBSTRToString@_com_util@@YGPADPAG@Z)
qqq.obj : error LNK2001: unresolved external symbol "unsigned short * __stdcall _com_util::ConvertStringToBSTR(char const *)" (?ConvertStringToBSTR@_com_util@@YGPAGPBD@Z)
Debug/qqq.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.

qqq.exe - 4 error(s), 2 warning(s)
不知道为啥阿 是不是我的vc6环境问题啊


不积跬步,无以至千里~!
2006-05-27 09:06
快速回复:[求助]IXMLDOMDocumentPtr的save方法是用问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016918 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved