Update of /cvsroot/objecthandler/ObjectHandler/ohxl
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv32148/ohxl
Modified Files:
objecthandlerxl.cpp objecthandlerxl.hpp
Log Message:
ohRetrieveError() - query user-specified range rather than active range
Index: objecthandlerxl.cpp
===================================================================
RCS file: /cvsroot/objecthandler/ObjectHandler/ohxl/objecthandlerxl.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** objecthandlerxl.cpp 26 Oct 2006 10:14:41 -0000 1.18
--- objecthandlerxl.cpp 29 Oct 2006 13:04:27 -0000 1.19
***************
*** 223,240 ****
}
! std::string ObjectHandlerXL::retrieveError() {
// XLOPER which might need freeing in the event of an exception
! XLOPER xSelectionRef, xSelectionText;
try {
!
! Excel(xlfSelection, &xSelectionRef, 0);
! Excel(xlfReftext, &xSelectionText, 1, &xSelectionRef);
! std::string selectionText;
! operToScalar(selectionText, xSelectionText);
! Excel(xlFree, 0, 2, &xSelectionRef, &xSelectionText);
! RangeReference selectionReference(selectionText);
for (rangeMapIter i = callingRanges_.begin(); i != callingRanges_.end(); i++) {
--- 223,241 ----
}
! std::string ObjectHandlerXL::retrieveError(const XLOPER *xRangeRef) {
// XLOPER which might need freeing in the event of an exception
! XLOPER xRangeText;
try {
! if (xRangeRef->xltype != xltypeRef && xRangeRef->xltype != xltypeSRef) {
! throw Exception("input parameter is not a range reference.");
! }
! Excel(xlfReftext, &xRangeText, 1, xRangeRef);
! std::string rangeStr;
! operToScalar(rangeStr, xRangeText);
! Excel(xlFree, 0, 1, &xRangeText);
! RangeReference selectionReference(rangeStr);
for (rangeMapIter i = callingRanges_.begin(); i != callingRanges_.end(); i++) {
***************
*** 249,253 ****
// free any memory that may have been allocated
! Excel(xlFree, 0, 2, &xSelectionRef, &xSelectionText);
// propagate the exception
--- 250,254 ----
// free any memory that may have been allocated
! Excel(xlFree, 0, 1, &xRangeText);
// propagate the exception
Index: objecthandlerxl.hpp
===================================================================
RCS file: /cvsroot/objecthandler/ObjectHandler/ohxl/objecthandlerxl.hpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** objecthandlerxl.hpp 26 Oct 2006 10:14:41 -0000 1.16
--- objecthandlerxl.hpp 29 Oct 2006 13:04:27 -0000 1.17
***************
*** 24,27 ****
--- 24,28 ----
#include <oh/objecthandler.hpp>
+ #include <xlsdk/xlsdkdefines.hpp>
//! ObjHandler
***************
*** 70,74 ****
void logError(const std::string &message, const bool &append = false);
! std::string retrieveError();
void clearError();
private:
--- 71,75 ----
void logError(const std::string &message, const bool &append = false);
! std::string retrieveError(const XLOPER *range);
void clearError();
private:
|