J
Josh
I have a cube which uses a modifed version of drillthrough.htc to
enable the users to view the detail data in the cube.
Everything works great for all of our users except one. One user's
'spawned' drillthrough window always throws an exception (with a null
exception message) and closes.
I have inserted (slighted editted) the code where the problem occurs
below.
The setupPivotTable() method throws the exception when it tries to set
the DataSource and DataMember of the PivotTable object (which is
created as an object).
Could the document.CreateElement() method be creating a 'bad' object?
Are there any client-side IE security settings which could be
preventing this code from working?
The recordset (rs) does contain data when it returns from the
GetRecordSet() method.
Like I said, only one user is seeing this problem, so I know the code
works (most of the time). The broken user does have IE6 sp1, which
other users also use, but they are using Windows 98 (all other users
have Windows NT/2000/XP)... could Windows 98 be the problem?
Thanks for the help guys,
Josh
------------------------8<-----------------------------------
function spawnContinue()
{
var objPT;
// catch errors in the case the window has disappeared.
// (user has used [X] button to close the spawned window)
try
{
// use IE DOM objects to get the desired layout for the PivotTable
objPT = winChild.document.createElement("<OBJECT style='behavior:
url(SingleRecord.htc);'>");
objPT.classid = "clsid:0002E552-0000-0000-C000-000000000046"
objPT.width = "100%";
objPT.height = "100%";
objPT.AutoFit = false;
objPT.id = 'pt';
if (setupPivotTable(objPT) == false)
{
winChild.close();
winChild = null;
return;
}
}
catch (e)
{
// don't do anything -- we're just trapping errors
// in case the user closes the spawned browser in the middle
// of us doing some work on it.
}
}
function setupPivotTable(ptMe)
{
var rs;
// get the recordset which represents this drillthrough.
// Note this operation may take a lot of time.
rs = dt.Data.GetRecordset();
if (rs == null)
return false;
try
{
//***** Exception thrown here **********
//***** but ptMe says it is an '[object]' **********
//***** when alerted to the screen. **********
ptMe.DataSource = rs;
ptMe.DataMember = "";
}
catch (e)
{
return false;
}
return true;
}
------------------------8<-----------------------------------
enable the users to view the detail data in the cube.
Everything works great for all of our users except one. One user's
'spawned' drillthrough window always throws an exception (with a null
exception message) and closes.
I have inserted (slighted editted) the code where the problem occurs
below.
The setupPivotTable() method throws the exception when it tries to set
the DataSource and DataMember of the PivotTable object (which is
created as an object).
Could the document.CreateElement() method be creating a 'bad' object?
Are there any client-side IE security settings which could be
preventing this code from working?
The recordset (rs) does contain data when it returns from the
GetRecordSet() method.
Like I said, only one user is seeing this problem, so I know the code
works (most of the time). The broken user does have IE6 sp1, which
other users also use, but they are using Windows 98 (all other users
have Windows NT/2000/XP)... could Windows 98 be the problem?
Thanks for the help guys,
Josh
------------------------8<-----------------------------------
function spawnContinue()
{
var objPT;
// catch errors in the case the window has disappeared.
// (user has used [X] button to close the spawned window)
try
{
// use IE DOM objects to get the desired layout for the PivotTable
objPT = winChild.document.createElement("<OBJECT style='behavior:
url(SingleRecord.htc);'>");
objPT.classid = "clsid:0002E552-0000-0000-C000-000000000046"
objPT.width = "100%";
objPT.height = "100%";
objPT.AutoFit = false;
objPT.id = 'pt';
if (setupPivotTable(objPT) == false)
{
winChild.close();
winChild = null;
return;
}
}
catch (e)
{
// don't do anything -- we're just trapping errors
// in case the user closes the spawned browser in the middle
// of us doing some work on it.
}
}
function setupPivotTable(ptMe)
{
var rs;
// get the recordset which represents this drillthrough.
// Note this operation may take a lot of time.
rs = dt.Data.GetRecordset();
if (rs == null)
return false;
try
{
//***** Exception thrown here **********
//***** but ptMe says it is an '[object]' **********
//***** when alerted to the screen. **********
ptMe.DataSource = rs;
ptMe.DataMember = "";
}
catch (e)
{
return false;
}
return true;
}
------------------------8<-----------------------------------