Всех приветствую! Некоторое время не было возможности сюда заглядывать, но обещаю всем ко мне обратившимся ответить по мере возможности.
MagistrAnatol Цитата: я думаю блоб поле с исходным кодом...
Ето практически идеальный способ организации обновлений, обновить базу проще и быстрее с точки зрения закачки обновы в виде скрипта, екзешник будет менятся ну очень редко
Тогда, исходя из такой логики, самым идеальным способом обновления буде вариант, в котором исполняемый модуль (exe) выполняет соединение к базе данных, затем вычитывает исполняемый код всего приложение из blob поля, создает/заменяет другой (основной) exe файл приложения, пишет в него вычитанный исполняемый код, запускает этот файл на выполнение, заканчивает свою работу.
. На самом деле, для организации надежного и эффективного обновления приложения, посмотрите в сторону, например, компонента AutoUpgrader от _http://www.appcontrols.com.
Добавлено: Meister Floh Цитата: сие..вставить в TdxRibbonPopupMenu.. В том смысле, чтобы SpinEdit рядочком сидели, а не в колонку
Боюсь, что такой подход противоречит самой логике PopupMenu - одна срока - одна команда. Но, опять же, если очень критично именно такое представление, попробуйте использовать PopupEdit. Как-то выше уже обсуждали его применение.
Добавлено: Meister Floh Цитата: А не подскажете как в рибонах менять свойство Enabled не по одному элементу, а скажем всех элементов принадлежащих группе или табу?
Написать две небольшие процедуры. Что-то вроде этого:
Код: procedure SetRibbonTabGroupEnabledStatus(ARibbonTabGroup:TdxRibbonTabGroup; AEnabled: Boolean);
var
i: Integer;
begin
for i := 0 to ARibbonTabGroup.ToolBar.ItemLinks.Count - 1 do
ARibbonTabGroup.ToolBar.ItemLinks.Items[i].Item.Enabled := AEnabled
end;
и
procedure SetRibbonTabEnabledStatus(ARibbonTab: TdxRibbonTab; AEnabled: Boolean);
var
i: Integer;
begin
for i := 0 to ARibbonTab.Groups.Count - 1 do
SetRibbonTabGroupEnabledStatus(ARibbonTab.Groups[i], AEnabled);
end;