Цитата: 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 и не заморачивался с пуризмом И то же самое наконец сделать с юнитами, чтобы они семантически как можно меньше отличались от классов. Заодно облегчится проблема глобальных переменных - они хотя бы перестанут засорять пространство имён.