Update of /cvsroot/objecthandler/ObjectHandler/ohxl
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv26246/ohxl
Modified Files:
conversions.cpp conversions.hpp
Log Message:
ohDependsOn() - throw exception if inputs contain error values
Index: conversions.cpp
===================================================================
RCS file: /cvsroot/objecthandler/ObjectHandler/ohxl/conversions.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** conversions.cpp 1 Sep 2006 21:28:10 -0000 1.10
--- conversions.cpp 29 Oct 2006 14:11:38 -0000 1.11
***************
*** 31,47 ****
}
! DLL_API void validateTrigger(const OPER *xTrigger) {
! if (xTrigger->xltype == xltypeErr) {
! throw Exception("trigger parameter has error value");
! } else if (xTrigger->xltype == xltypeMulti) {
! if (!validateMulti(xTrigger))
! throw Exception("trigger parameter has error value");
! } else if (xTrigger->xltype == xltypeRef || xTrigger->xltype == xltypeSRef) {
! XLOPER xMulti;
! Excel(xlCoerce, &xMulti, 1, xTrigger, TempInt(xltypeMulti));
! bool isValid = validateMulti(&xMulti);
! Excel(xlFree, 0, 1, &xMulti);
! if (!isValid)
! throw Exception("trigger parameter has error value");
}
}
--- 31,55 ----
}
! DLL_API void validateReference(const OPER *xReference, const std::string &name) {
! if (xReference->xltype == xltypeErr) {
! std::ostringstream msg;
! msg << "parameter '" << name << "' has error value";
! throw Exception(msg.str());
! } else if (xReference->xltype == xltypeMulti) {
! if (!validateMulti(xReference)) {
! std::ostringstream msg;
! msg << "parameter '" << name << "' has error value";
! throw Exception(msg.str());
! }
! //} else if (xReference->xltype == xltypeRef || xReference->xltype == xltypeSRef) {
! // XLOPER xMulti;
! // Excel(xlCoerce, &xMulti, 1, xReference, TempInt(xltypeMulti));
! // bool isValid = validateMulti(&xMulti);
! // Excel(xlFree, 0, 1, &xMulti);
! // if (!isValid) {
! // std::ostringstream msg;
! // msg << "parameter '" << name << "' has error value";
! // throw Exception(msg.str());
! // }
}
}
Index: conversions.hpp
===================================================================
RCS file: /cvsroot/objecthandler/ObjectHandler/ohxl/conversions.hpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** conversions.hpp 11 Sep 2006 19:50:23 -0000 1.11
--- conversions.hpp 29 Oct 2006 14:11:38 -0000 1.12
***************
*** 28,32 ****
namespace ObjHandler {
! DLL_API void validateTrigger(const OPER *xTrigger);
DLL_API void stringToChar(char *c, const std::string &s);
void operToOper(OPER *xTarget, const OPER *xSource);
--- 28,32 ----
namespace ObjHandler {
! DLL_API void validateReference(const OPER *xReference, const std::string &name);
DLL_API void stringToChar(char *c, const std::string &s);
void operToOper(OPER *xTarget, const OPER *xSource);
|