Показать сообщение отдельно
  #3  
Старый 08.10.2013, 08:43
phomm phomm вне форума
Новичок
 
Регистрация: 07.10.2013
Адрес: Тюмень
Сообщения: 50
Версия Delphi: 7/2007/XE+/FPC
Репутация: 22
По умолчанию

Цитата:
Сообщение от 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);
Но за результат сложно ручаться, скорее всего также будет инкомпатибл тайпс... Тогда наверное надо будет писать подпрограмму-переводник.

Проблема то хоть решилась ? А то я тут чутка некрю.
Ответить с цитированием