Всем привет
читаю статью на хабре...
http://habrahabr.ru/company/delphi/blog/200490/
кусок кода
procedure TDM.DataModuleCreate(Sender: TObject);
begin
DM.ConnectToDB;
end;
почему не просто ConnectToDB ??? зачем они используют глобальные переменные?
Цитата "При запуске программы определим событие AfterInsert для набора данных с рецептами."
procedure TfMain.FormShow(Sender: TObject);
begin
DM.FDTRecipe.AfterInsert:= RecipeAfterInsert;
end;
procedure TfMain.RecipeAfterInsert(DataSet: TDataSet);
var
fAddRecipe: TfAddRecipe;
begin
try
fAddRecipe:= TfAddRecipe.Create(Application);
fAddRecipe.ShowModal;
if fAddRecipe.ModalResult = mrOk then
begin
if DataSet.State in [dsInsert, dsEdit] then
DataSet.Post;
end
else
begin
if DataSet.State in [dsInsert, dsEdit] then
DataSet.Cancel;
end;
finally
FreeAndNil(fAddRecipe);
end;
end;
тут написано — при создании формы мы используя глобальную переменную (DM) назначаем обработчик для события объекта,
который лежит в поле FDTRecipe...
эээ постойте, но если мне не изменяет память, префикс F в дельфи был у полей с приватным уровнем доступа???
И разве слой данных(датамодуль, это ведь слой данных?) вроде не должен же создавать отображать гуй? он же по идее, может использоваться из программ, где гуя нету вообще?
по моему, даже в таком просто примере, было показано, качество кода на дельфи...