Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизКак привести TList<TField> к простому TList Найти похожие ветки
← →
pasha_golub © (2012-09-04 20:16) [0]Ребят, аврал. Эти Ымбыркадеры внезапно без объявления войны выпустили свою ХЕЗ.
Я тут быстро пытаюсь подтянуть свои писульки под новую среду. А они возьми да в некоторых местах вместо обычного TList начали использовать дженерики, напримерproperty Fields: TList<TField> read FFields;
Ну, а у меня, ясен пень, везде православное использование Fields как TList. Вопрос могу ли я в вызовах привести TList<TField> к TList без огребания в последствии.
Спасибо.
← →
Dimka Maslov © (2012-09-04 20:38) [1]Одно из основных правил у нас "со старыми проектами работа ВСЕГДА ведётся в том программном обеспечении, в котором они начаты".
← →
Игорь Шевченко © (2012-09-04 20:58) [2]
> Вопрос могу ли я в вызовах привести TList<TField> к TList
> без огребания в последствии.
Нет
← →
jack128_ (2012-09-04 22:26) [3]
> Ну, а у меня, ясен пень, везде православное использование
> Fields как TList
использование нетипизированных указателей - православным быть не может.
← →
wl © (2012-09-04 23:00) [4]for(int i=0; i<genericlist.Count(); ++i) { plainlist.Add(genericlist[i]); } ?
не помню как на делфи будет выглядеть, суть в том, чтобы тупо скопипастить из генерика в нетипизированный. Самый безопасный способ, (IMHO!)
← →
Eraser © (2012-09-05 01:18) [5]
> Dimka Maslov © (04.09.12 20:38) [1]
дурацкое условие, без обид )
← →
Германн © (2012-09-05 01:24) [6]
> Eraser © (05.09.12 01:18) [5]
>
>
> > Dimka Maslov © (04.09.12 20:38) [1]
>
> дурацкое условие, без обид )
>
А чем оно дурацкое?
Я уже не первый раз замечаю, что ты постоянно призываешь всех переходить на самую последнюю версию Д. А доводы за такое решение почти не приводишь.
← →
Студент (2012-09-05 05:46) [7]ИМХО надо будет переписывать свои проекты под whatsnew новой версии.
← →
pasha_golub © (2012-09-05 09:29) [8]
> Dimka Maslov © (04.09.12 20:38) [1]
Дим, я пишу набор компонентов. Они должны работать от Д5 и до новых веников. Если end user решение, то конечно же пишется и допиливается в чем-то проверенном.
> jack128_ (04.09.12 22:26) [3]
Жень, раньше в DB.pas таки сами Борланды\Кодегиры\Ымбаркадеры объявлялиproperty TMasterDataLInk.Fields: TList;
Так шо мопед не мой (с)
> Игорь Шевченко © (04.09.12 20:58) [2]
Игорь, где-то это написано английским по белому? Я как-то упустил счастье поигратсья с дженериками и дружу с ними на расстоянии.
← →
Давайте будем жрать! (2012-09-05 10:31) [9]
> Игорь, где-то это написано английским по белому?
Паскалем по белому устроит? В System.Generics.Collections.pas.
Самое смешное, что F := TList(Fields)[I] или TList(Fields)[I] := F теоретически может корректно отработать (сейчас нет времени проверять), а вот TList(Fields).Add(F) гарантированно загнётся. %-)
← →
pasha_golub © (2012-09-05 10:40) [10]
> Давайте будем жрать! (05.09.12 10:31) [9]
> Паскалем по белому устроит? В System.Generics.Collections.
> pas.
Та я вас умоляю! Шо вы жгёте свой нерв? :) Спасиб.
← →
Давайте будем жрать! (2012-09-05 10:44) [11]
> Шо вы жгёте свой нерв?
Отнюдь нет :-)
← →
Dimka Maslov © (2012-09-05 10:47) [12]
> Eraser © (05.09.12 01:18) [5]
А мы программированием и не занимаемся. Основная сфера нашей деятельности - строительное проектирование. И если из-за перехода на новое программное обеспечение возникнут трудноулавливаемые ошибки - цена их будет на несколько порядков выше. Что же касается программирования, то те внутренние программы, которые мы сами пишем и используем, ещё не разу не перекомпилировались без глюков при переносе старого кода на новые рельсы. При этом последствия скрытых ошибок опять же будут стоить очень дорого. К мостам сервис-паки каждую неделю выпускать не получится.
← →
Dimka Maslov © (2012-09-05 10:50) [13]
> pasha_golub © (05.09.12 09:29) [8]
В этом случае можно посоветовать написать свой аналог TList без извратов и наследовать всё от него. Я знаю людей, которые с похожими целями полностью написали библиотеку классов за место MFC.
← →
Давайте будем жрать! (2012-09-05 10:53) [14]
> написать свой аналог TList без извратов
Ты не понял, написание своего аналога TList не поможет, если следовать твоему совету, то надо писать свой аналог DB или портировать соотевтсвующий модуль из старой версии.
Если хочется исправить по-быстрому, то маленькая функция, перегоняющая данные из TList<T> в TList, и в нужных местах обернуть вызов функции в $IFDEF.
← →
Ega23 © (2012-09-05 11:22) [15]Я сильно не вникал, ибо башка другим забита. Но
> то маленькая функция, перегоняющая данные из TList<T> в
> TList, и в нужных местах обернуть вызов функции в $IFDEF.
мне кажется - оно.
← →
pasha_golub © (2012-09-05 13:43) [16]Нафигачил overload методов (благо всего три) и проблема решена. Спасибо, други!
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.06 c