Skip to content

Commit

Permalink
* [unsafe] para corrigir alguns casso com access violation ao sair do…
Browse files Browse the repository at this point in the history
… app
  • Loading branch information
amarildolacerda committed Apr 27, 2017
1 parent 6eb0b1d commit 426b5f8
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 12 deletions.
Binary file modified 330px-ModelViewControllerDiagram2.svg.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions MVCBr.ApplicationController.pas
Expand Up @@ -52,10 +52,10 @@ TApplicationController = class(TMVCOwnedInterfacedObject,
IApplicationController)
private
/// Lista de controllers instanciados
FControllers: IInterfaceList;
[unsafe]FControllers: IInterfaceList;
protected
/// MainView para o Application
FMainView: IView;
[unsafe]FMainView: IView;
/// singleton
class var FApplicationController: IApplicationController;
public
Expand Down
2 changes: 1 addition & 1 deletion MVCBr.Controller.pas
Expand Up @@ -45,7 +45,7 @@ TControllerFactory = class(TControllerAbstract, IController,
FRefModelCount: integer;
FRefViewCount: integer;
protected
FView: IView;
[unsafe]FView: IView;
FID: string;
procedure Load; virtual;
procedure SetID(const AID: string);
Expand Down
4 changes: 2 additions & 2 deletions MVCBr.Interf.pas
Expand Up @@ -152,7 +152,7 @@ TMVCFactoryAbstract = class(TInterfacedObject, IMVCBrBase)

TMVCOwnedInterfacedObject = Class(TMVCFactoryAbstract)
private
FOwner: TComponent;
[unsafe]FOwner: TComponent;
public
constructor create; override;
destructor destroy; override;
Expand Down Expand Up @@ -330,7 +330,7 @@ TControllerAbstract = class;

TControllerAbstract = class(TMVCFactoryAbstract)
protected
FModels: TMVCInterfacedList<IModel>;
[unsafe]FModels: TMVCInterfacedList<IModel>;
public
constructor create; virtual;
function This: TControllerAbstract;
Expand Down
19 changes: 12 additions & 7 deletions helpers/Data.DB.Helper.pas
Expand Up @@ -52,14 +52,14 @@ TDatasetHelper = class helper for TDataset
procedure ChangeAllValuesTo(AFieldName: string; AValue: Variant;
AConfirm: TFunc<boolean>); overload;
procedure ChangeAllValuesTo(AFieldName: string; AValue: Variant;
AConfirm: TFunc<TDataset,boolean>); overload;
AConfirm: TFunc<TDataset, boolean>); overload;
procedure AppendFromJson(sJson: string);
procedure CopyFromJson(sJosn: string);
procedure JsonToRecord(sJson: string; AAppend: boolean); overload;
procedure FromJsonObject(oJson: TJsonObject; AAppend: boolean); overload;
procedure DoLoopEvent(AEvent: TProc); overload;
procedure DoLoopEvent(AEvent: TProc<TDataset>); overload;
procedure ForEach(AEvent: TFunc<TDataset,boolean>);
procedure ForEach(AEvent: TFunc<TDataset, boolean>);
procedure DoEventIf(AFieldName: string; AValue: Variant;
AEvent: TProc); overload;
procedure DoEventIf(AFieldName: string; AValue: Variant;
Expand All @@ -84,12 +84,12 @@ TFieldsHelper = class helper for TFields

TFieldHelper = class helper for TField
function FromStream(stream: TStream): TField;
function ToStream(stream:TStream):TField;
function ToStream(stream: TStream): TField;
end;

implementation

uses System.Json.Helper, System.DateUtils,
uses System.JSON.Helper, System.DateUtils,
SqlTimSt, FmtBcd, System.Variants,
Soap.EncdDecd;

Expand Down Expand Up @@ -265,7 +265,12 @@ procedure TDatasetHelper.ForEach(AEvent: TFunc<TDataset, boolean>);
first;
while Eof = false do
begin
if AEvent(self) then exit; /// TRUE - Finaliza FALSE - Continua
{ if TThread.Current.CheckTerminated then
break;
}
if AEvent(self) then
exit;
/// TRUE - Finaliza FALSE - Continua
next;
end;
finally
Expand Down Expand Up @@ -693,11 +698,11 @@ function TFieldHelper.FromStream(stream: TStream): TField;
function TFieldHelper.ToStream(stream: TStream): TField;
begin
result := self;
TBlobField(Self).SaveToStream(stream);
TBlobField(self).SaveToStream(stream);
end;

procedure TDatasetHelper.ChangeAllValuesTo(AFieldName: string; AValue: Variant;
AConfirm: TFunc<TDataset, boolean>);
AConfirm: TFunc<TDataset, boolean>);
var
book: TBookMark;
fld: TField;
Expand Down

0 comments on commit 426b5f8

Please sign in to comment.