调用ole函数错误,高手請幫忙?謝謝
比如:
Variant Ex,Wb,Sheet;
Ex.OlePropertySet("Visible",false);
Wb = Ex.OlePropertyGet("WorkBooks").OleFunction("Add");
Sheet = Wb.OlePropertyGet("ActiveSheet");
在调用Ex.OlePropertySet("Visible",false);时到
OlePropertySet(name, static_cast<TAutoArgsBase&>(args));出错,
为IsBound() e:\bcb\emuvcl\utilcls.h/4349
怎么回事啊??
template <class P1, class P2, class P3, class P4, class P5,
class P6, class P7>
Variant Variant::OleFunction(const String& name,
P1 p1, P2 p2, P3 p3, P4 p4, P5 p5,
P6 p6, P7 p7)
{
TAutoArgs<7> args;
args[1] = p1; args[2] = p2; args[3] = p3;
args[4] = p4; args[5] = p5; args[6] = p6;
args[7] = p7;
return OleFunction(name, static_cast<TAutoArgsBase*>(&args));//出錯點
}
問題同下面網頁鏈接的一樣,下面的網頁帖子問題都沒有,再來問問怎麼回事? 奇怪的是再一個工程內可以,再另一個都不行了?到底什麼沖突?
http://topic.csdn.net/t/20050117/12/3731404.html
[解决办法]
//需要先调用
Variant V = Variant::CreateObject( ProgId ); ProgId是相关组件的ProgId
[解决办法]
等专业户吧
[解决办法]
从你的代码来看,确实是没有创建OLE对象?
Ex = CreateOleObject("Excel.Application");Ex.OlePropertySet("Visible",false);