Arioch1
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: JCL делала последний коммит в SVN 28 янваля | SVN's dead, baby а у Git'a геморрой с CR/LF vs LF на концах https://github.com/project-jedi/jcl/commits/master А в общем, кому нужен XE4 если XE5 будет через несколько месяцев ? Добавлено: mcka Это не BPL, это DLL. Убери зверский код из main.pas initialization. Сделай просто lazy init переменную, которая будет вызываться из других функций и при первом вызове действительно создаст что надо. http://www.transl-gunsmoker.ru/2009/01/dllmain.html http://www.transl-gunsmoker.ru/2009/01/dllmain_7983.html Добавлено: Цитата: утилита для апгрейда 1-based string кода на 0-based immutable. | Не надо, надо делать паскалевскую обёртку строки, поверх иммутабельной LLVMной (если такая вообще существует. LLVM вроде как языками заведует, а не библиотеками) GDI Font иммутабельный - но VCL TFont вполне мутирует. Аналогично TWinControl.ReCreateWnd. и т.д. Цитата: По поводу "как это сделать" - я бы сделал refactoring на тему замены with на промежуточную переменную | Угу, а потом Дельфи сломалась!!! ничего не работает!!11111 Цитата: form8.ADOQuery2.Active:=false; form8.ADOQuery2.SQL.Clear; form8.ADOQuery2.SQL.Add('SELECT min(data)'); form8.ADOQuery2.SQL.Add('FROM Table_1'); form8.ADOQuery1.Active:=true; edit1.Text:=adoquery2.FieldByName('data').AsString; | А временные переменные, особенно автоматические, имеенно так и будут называться, i1, i2, i3... Если уж неймётся - то надо расширять with и вводить type inference Цитата: with const A1 := ADOQuery1, A2 := ADOQuery2 do begin ... end; | Расширил же Вирт is/as и не заморачивался с пуризмом И то же самое наконец сделать с юнитами, чтобы они семантически как можно меньше отличались от классов. Заодно облегчится проблема глобальных переменных - они хотя бы перестанут засорять пространство имён. | Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 13:58 24-04-2013 | Исправлено: Arioch1, 14:10 24-04-2013 |
|