Hi, I'm updating Valentina ADK for C++ from version 7.x.x to last 9.8.2.
I saw there are some changes in functions as:
virtual I_RowSet_Ptr I_Table::Sort(
I_RowSet_Ptr inSet,
I_Field_Ptr inSortField,
bool inAsc = true ) = 0;
I make the changes to use I_RowSet_Ptr and use the conversion functions to get ArraySet_Ptr and BitSet_Ptr
FBL_SHARED_EXP ArraySet_Ptr toArraySet( I_RowSet_Ptr inRowSet );
FBL_SHARED_EXP BitSet_Ptr toBitSet ( I_RowSet_Ptr inRowSet );
My current problem is how to convert I_RowSet_Ptr to ArraySet_Ptr....
This a pice of my code:
OSErr
UVDBArraySet_v3::Sort(
FBL::ArraySet_Ptr* ioArrayResult,
FBL::I_Table_Ptr inTable,
FBL::I_Field_Ptr inField,
FBL::ArraySet_Ptr inArraySet)
{
OSErr err = noErr;
*ioArrayResult = nil;
try
{
if (inArraySet)
*ioArrayResult = toArraySet(inTable->Sort (inArraySet, inField));
else
{
FBL::I_RowSet_Ptr pAllSet = inTable->SelectAllRecords();
*ioArrayResult = toArraySet(inTable->Sort (pAllSet, inField));
}
}
catch(xException& thrownError)
{
err = (OSErr)thrownError.get_ErrorCode();
UDebugThrow_(err);
}
catch(int32 thrownError)
{
err = (OSErr)thrownError;
UDebugThrow_(err);
}
catch(...)
{
err = memFullErr;
UDebugThrow_(err);
}
return err;
}