//\ab //Загрузка списка функций public void LoadFunctions() { try { Funs.Clear(); using (var g = new DaoDb(_infoTaskDir + @"\General\General.accdb")) { using (var rec = new ReaderAdo(g, "SELECT * FROM Functions WHERE NotLoad = False")) while (rec.Read()) { //Сначала читаем сами функции var f = new FunClass(rec); Funs.Add(f.Name, f); if (f.Synonym != null) { Funs.Add(f.Synonym, f); } FunsId.Add(rec.GetInt("Id"), f); } using (var rec = new ReaderAdo(g, "SELECT FunctionsOverloads.* FROM Functions INNER JOIN FunctionsOverloads ON Functions.Id = FunctionsOverloads.FunctionId " + "WHERE Functions.NotLoad = False ORDER BY FunctionsOverloads.FunctionId, FunctionsOverloads.RunNumber")) { rec.Read(); while (!rec.EOF) { //Потом их перегрузки var id = rec.GetInt("FunctionId"); var fun = _funsId[id]; while (rec.GetInt("FunctionId") == id) { fun.Overloads.Add(new FunOverload(rec, fun)); if (!rec.Read()) { break; } } } } } } catch (Exception ex) { ex.MessageError("Системная ошибка компилятора. Ошибка загрузки функций"); } }