Цитата:
Сообщение от icegood
class function TMSDataSetUtils.GetArrayOfDataSetsAsObj(const ADataSets: array of Tobject): TArrayOfObjects;
...
class function TMSDataSetUtils.GetArrayOfDataSets(const ADataSets: array of TCustomMSDataSet): TArrayOfMSDataSets;
begin
// Result :=
GetArrayOfDataSetsAsObj(ADataSets); //<-- E2008 Incompatible types
|
Мне думается, проблема в присвоении в сущность типа
TArrayOfMSDataSets значения типа
TArrayOfObjects
А сама передача массива тут ни при чём.
Можно попробовать хак в виде явного незащищённого каста:
Код:
Result := TArrayOfMSDataSets(GetArrayOfDataSetsAsObj(ADataSets));
или даже более опасный каст
Код:
TArrayOfObjects(Result ):= GetArrayOfDataSetsAsObj(ADataSets);
Но за результат сложно ручаться, скорее всего также будет инкомпатибл тайпс... Тогда наверное надо будет писать подпрограмму-переводник.
Проблема то хоть решилась ? А то я тут чутка некрю.