Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.01.25;
Скачать: CL | DM;

Вниз

E2089 Invalid typecast   Найти похожие ветки 

 
Вопрошающий   (2013-12-30 15:00) [0]

Не подскажите в чем ошибка?

function TMyClass.FindChild<T>(AClass: TClass): TArray<T>;
var
 i: integer;
begin
 Result := nil;
 for i := 0 to FChilds.Count - 1 do
   if FChilds[i] is AClass then
   begin
     SetLength(Result, length(Result) + 1);
     Result[length(Result) - 1] := T(FChilds[i]);
   end;
end;


[dcc32 Error] myPas.pas(3749): E2089 Invalid typecast (на выделенной строке)

XE5 (x32)


 
DVM ©   (2013-12-30 15:09) [1]

А зачем там приведение вообще? Что такое FChilds?


 
Вопрошающий   (2013-12-30 15:20) [2]

FChilds: Generics.Collections.TList<TMyClassElement>;

Привидения для того чтобы не было Incompatible types: "T" and "TMyClassElement"


 
Вопрошающий   (2013-12-30 16:04) [3]

* Привидение для того


 
Вопрошающий   (2013-12-30 16:06) [4]

Прокатило, когда в объявлении указал вместо этого:
function FindChild<T>(AClass: TClass): TArray<T>;

Это
function FindChild<T: class>(AClass: TClass): TArray<T>;

хм...


 
Inovet ©   (2013-12-30 18:00) [5]

> [3] Вопрошающий   (30.12.13 16:04)
> * Привидение для того

Привидение для того, чтобы летать с мотором.



Страницы: 1 вся ветка

Текущий архив: 2015.01.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.006 c
15-1402790532
Пит
2014-06-15 04:02
2015.01.25
Термодинамика отдельно взятого человека


6-1274355825
amelnyk
2010-05-20 15:43
2015.01.25
Unzip SOAP response


2-1387969962
aka
2013-12-25 15:12
2015.01.25
if then


2-1388222719
SKIPtr
2013-12-28 13:25
2015.01.25
создание заданий


2-1387655618
Alen
2013-12-21 23:53
2015.01.25
База данных