Delphi, habr
От: SoLame  
Дата: 08.11.13 12:30
Оценка: -1
Всем привет

читаю статью на хабре...
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 в дельфи был у полей с приватным уровнем доступа???
И разве слой данных(датамодуль, это ведь слой данных?) вроде не должен же создавать отображать гуй? он же по идее, может использоваться из программ, где гуя нету вообще?


по моему, даже в таком просто примере, было показано, качество кода на дельфи...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.