Модератор: Модераторы
Procrdure TmyForm.onInternetLost(...);
begin
...
LoadButton1.disable;
...
LoadButton10.disable;
LoadMenuItem1.disable;
...
LoadMenuItem10.disable;
...
end;
zub писал(а):Я уже сказал про onResize и прочую подобную пакость, которая бизнес логике ненужна
zub писал(а):Если при этом mySuperBusinessUnit ничего не будет знать о TmyForm (т.е. форма и всё что связано с гуем не будет фигурировать в обоих uses`ах mySuperBusinessUnit) можно будет говорить о полном разделении.
zub писал(а):Кстати как вы с контролами поступаете? утягиваете в консоль? Но если в консоли они не будут проинициализированы, то и tedit.text запросить нельзя...
zub писал(а):Не понял, подробнее что и где обломится?
zub писал(а):Что будем делать?
Нет, не нужна. Ее можно вынести в TMyMyForm.
Так если TmyForm унаследовать от TMyBiznessObject тоже можно будет сказать о разделении.
Для консоли TMyEdit будет иметь другую реализацию, в которой можно будет и .text запросить.
Так, о чем это мы? Ах да... В потрохах вкл неважно, что конкретный экземпляр формы будет создавать, TEdit или TMyEdit, потому что реадер ищет или зарегестрированный класс, или наследник. Именно поэтому "хак" из первых постов возможен. Правдивость этого утверждения предлагаю проверить Вам, как более заинтересованному.
Ну и зачем ты код привел? Мне пришлось долго протирать свой хрустальный шар, но из того что мне понятно, следует такой ответ: В TButton надо определить пустой метод disable.
Procrdure TmyForm.onInternetLost(...);
begin
...
LoadButton1.Enabled:=false;
...
LoadButton10.Enabled:=false;
LoadMenuItem1.Enabled:=false;
...
LoadMenuItem10.Enabled:=false;
...
end;
zub писал(а):Юзая onЧетоТам никак
zub писал(а): а если потом какойнить контрол добавится?
zub писал(а):Разделением и введением прокладки в виде экшенов все проблемы решаются
zub писал(а):Добавление контрола никак не влияет на бизнеслогику, добавление логики влияет на контролы.
Kemet писал(а):Хелперы - ЗЛО. Их наличие говорит о том, что программист не использовал мозг при разработке проекта.stanilar писал(а):Может написать класс-хелпер для TEdit?
TIniPropStorageHelper = class helper for TIniPropStorage
public
procedure WriteColor(const Ident: string; Value: TColor);
function ReadColor(const Ident: string; DefaultValue: TColor): TColor;
procedure WriteDate(const Ident: string; Value: TDateTime);
function ReadDate(const Ident: string; DefaultValue: TDateTime): TDateTime;
end;
zub писал(а): В какойто момент соединение с инетом пропадает, догично временно задисаблить всё что имеет LoadDataFromInternet в onClick. Что будем делать?
Var
Online:boolean;
Procedure TmyForm.onInternetLost(...);
begin
...
Online:=false;
....
end;
LoadButton1.onRedraw(...)// могу ошибаться с использованием нужной процедуры...
LoadButton1.enable:=Online;
sign писал(а):Где тут зло?
stanilar писал(а):хелпер вместо обертки
stanilar писал(а):Как вы будете расширять функционал в дальнейшем? Писать хелпер к хелперу?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 231