Форум: "Начинающим";
Текущий архив: 2015.01.25;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.002 c