Within Excel, a range such as this can be passed directly into the MandatoryDates parameter.
CTQL.CTRangeData ProcessViewer_MandatoryDates;
int[] arrBProcessViewer_MandatoryDates = {
CTQL.Date.serialNumber("19/7/2005", "dd/mm/yyyy"),
CTQL.Date.serialNumber("19/1/2006", "dd/mm/yyyy"),
CTQL.Date.serialNumber("19/7/2006", "dd/mm/yyyy"),
CTQL.Date.serialNumber("19/1/2007", "dd/mm/yyyy"),
CTQL.Date.serialNumber("19/7/2007", "dd/mm/yyyy"),
CTQL.Date.serialNumber("19/1/2008", "dd/mm/yyyy"),
CTQL.Date.serialNumber("19/7/2008", "dd/mm/yyyy"),
CTQL.Date.serialNumber("19/1/2009", "dd/mm/yyyy"),
CTQL.Date.serialNumber("19/7/2009", "dd/mm/yyyy"),
CTQL.Date.serialNumber("19/1/2010", "dd/mm/yyyy"),
CTQL.Date.serialNumber("19/7/2010", "dd/mm/yyyy"),
CTQL.Date.serialNumber("19/1/2011", "dd/mm/yyyy") // Array Data
};
CTQL.IntVector arrProcessViewer_MandatoryDates =
new CTQL.IntVector(arrBProcessViewer_MandatoryDates);
// Second parameter determines whether the array is a column array (false) or a row array (true)
ProcessViewer_MandatoryDates = new CTQL.CTRangeData(arrProcessViewer_MandatoryDates, false);