made clearer the reason why TCEOption force EntitiesConnector to update

This commit is contained in:
Basile Burg 2014-12-09 11:32:28 +01:00
parent 4e15bdcd15
commit 8fc973dd99
2 changed files with 12 additions and 2 deletions

View File

@ -316,8 +316,8 @@ begin
checkCompilo; checkCompilo;
getCMdParams; getCMdParams;
// //
EntitiesConnector.endUpdate;
updateMainMenuProviders; updateMainMenuProviders;
EntitiesConnector.forceUpdate;
fInitialized := true; fInitialized := true;
end; end;

View File

@ -14,6 +14,7 @@ type
fSubjPersObservers: TCECustomSubject; fSubjPersObservers: TCECustomSubject;
protected protected
procedure defineProperties(Filer: TFiler); override; procedure defineProperties(Filer: TFiler); override;
procedure beforeLoad; override;
procedure beforeSave; override; procedure beforeSave; override;
procedure afterLoad; override; procedure afterLoad; override;
public public
@ -32,7 +33,6 @@ begin
fSubjPersObservers := TCESessionOptionsSubject.create; fSubjPersObservers := TCESessionOptionsSubject.create;
// //
EntitiesConnector.addSubject(fSubjPersObservers); EntitiesConnector.addSubject(fSubjPersObservers);
EntitiesConnector.endUpdate;
end; end;
destructor TCEOptions.destroy; destructor TCEOptions.destroy;
@ -49,6 +49,16 @@ begin
subjSesOptsDeclareProperties(TCESessionOptionsSubject(fSubjPersObservers), Filer); subjSesOptsDeclareProperties(TCESessionOptionsSubject(fSubjPersObservers), Filer);
end; end;
procedure TCEOptions.beforeLoad;
begin
// ensure that the observers will be know:
// during the app init a bulk update operation is happening,
// cf. ce_observer.pas, initialization section.
if EntitiesConnector.isUpdating then
EntitiesConnector.forceUpdate;
inherited;
end;
procedure TCEOptions.beforeSave; procedure TCEOptions.beforeSave;
begin begin
subjSesOptsBeforeSave(TCESessionOptionsSubject(fSubjPersObservers)); subjSesOptsBeforeSave(TCESessionOptionsSubject(fSubjPersObservers));