lodyr
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Кому интересено, полезная информация. Возвращаясь к вопросу о Eagle CodeRush Как развернуть окно с текстом кода на весь экран и убрать панель CodeRush? В меню Delphi нажать Window->(TCodeRushEngine, no caption). Нажать клавиши на КЛАВИАТУРЕ Start(значок Windows)+Shift+F5. В распахнутом окне с текстом кода появится маленькое окошко CodeRush, в котором можно произвести включение/выключени этой самой панели и ещё много чего. Закрывать это окошко лучше щелчком мыши на красном квадратике окна, чтобы не вернуться к прежнему виду окна. А если надо вернуть всё назад, то просто повторить нажатие сочетание клавиш Start(значок Windows)+Shift+F5 =========================================================== Проблема Absolute Database с версии v 5.12 заключается в следующем: Если в структуре таблицы задано свойство/свойства DefaultExpression или MinValue или MaxValue и при старте приложения в модуле TDataModule, который создаётся первым, DataSet этой таблицы открыт(Open), то при выполнении команды немедленного завершения программы Halt, возникает ошибка в Absolute Database, связанная с освобождением памяти ! =========================================================== Для решения проблемы надо освободить из памяти открытый DataSet, связанный с такой таблицей, т.е. делать DataSet (Table : TABSTable) Table.Free; перед командой Halt ======================================================================== Другие методы не помогают! В v 5.14 Проблема усугубилась! возникает ошибка в Absolute Database, связанная с освобождением памяти ABSDatabase Для решения проблемы надо освободить из памяти ещё и все Базы (TABSDatabase) ======================================================================== Для этих целей можно сделать процедуру: procedure Tdm.FreeAllDataSet(); var i, j : Integer; begin (* Проверяем все Базы (ABSDatabase : TABSDatabase) и освобождаем из памяти *) try for i:=0 to ComponentCount-1 do begin for j:=i to ComponentCount-1 do if (Components[i] is TABSDatabase) then begin Components[i].Free; if j > ComponentCount-1 then Break; end; end; (* Проверяем все DataSet (Table : TABSTable) и освобождаем из памяти *) for i:=0 to ComponentCount-1 do begin for j:=i to ComponentCount-1 do if Components[i] is TABSTable then begin Components[i].Free; if j > ComponentCount-1 then Break; end; end; Except raise Exception.Create('SORRY, Произошла непредвиденная ошибка'); end; end; ======================================================================== | Всего записей: 710 | Зарегистр. 06-02-2005 | Отправлено: 16:05 15-11-2007 | Исправлено: lodyr, 11:49 16-11-2007 |
|