mirror of
https://gitlab.com/freepascal.org/fpc/pas2js.git
synced 2025-08-18 16:49:05 +02:00
* Change OnApplyUpdates to be more future proof.
This commit is contained in:
parent
00300a800d
commit
53a3015923
@ -46,7 +46,7 @@ Type
|
|||||||
function DoEditRecord(aEvent: TJSMouseEvent): boolean;
|
function DoEditRecord(aEvent: TJSMouseEvent): boolean;
|
||||||
procedure DoGetURL(Sender: TComponent; aRequest: TDataRequest; Var aURL: String);
|
procedure DoGetURL(Sender: TComponent; aRequest: TDataRequest; Var aURL: String);
|
||||||
procedure DoLoadFail(DataSet: TDataSet; ID: Integer; const ErrorMsg: String);
|
procedure DoLoadFail(DataSet: TDataSet; ID: Integer; const ErrorMsg: String);
|
||||||
procedure DSAfterApplyUpdates(DataSet: TDataSet; Updates: TResolveInfoArray);
|
procedure DSAfterApplyUpdates(DataSet: TDataSet; Updates: TResolveResults);
|
||||||
procedure DSOpen(DataSet: TDataSet);
|
procedure DSOpen(DataSet: TDataSet);
|
||||||
procedure ResetButtons(Sender: TDataset);
|
procedure ResetButtons(Sender: TDataset);
|
||||||
function SelectRecord(aEvent: TJSMouseEvent): boolean;
|
function SelectRecord(aEvent: TJSMouseEvent): boolean;
|
||||||
@ -135,7 +135,7 @@ begin
|
|||||||
PanelContent.append(N);
|
PanelContent.append(N);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TForm.DSAfterApplyUpdates(DataSet: TDataSet; Updates : TResolveInfoArray);
|
procedure TForm.DSAfterApplyUpdates(DataSet: TDataSet; Updates : TResolveResults);
|
||||||
begin
|
begin
|
||||||
Window.Alert('Updates applied on server!');
|
Window.Alert('Updates applied on server!');
|
||||||
EName.value:='';
|
EName.value:='';
|
||||||
|
@ -1041,8 +1041,13 @@ type
|
|||||||
end;
|
end;
|
||||||
TResolveInfoArray = Array of TResolveInfo;
|
TResolveInfoArray = Array of TResolveInfo;
|
||||||
|
|
||||||
|
// Record so we can extend later on
|
||||||
|
TResolveResults = record
|
||||||
|
Records : TResolveInfoArray;
|
||||||
|
end;
|
||||||
|
|
||||||
TOnRecordResolveEvent = Procedure (Sender : TDataset; info : TResolveInfo) of object;
|
TOnRecordResolveEvent = Procedure (Sender : TDataset; info : TResolveInfo) of object;
|
||||||
TApplyUpdatesEvent = Procedure (Sender : TDataset; info : TResolveInfoArray) of object;
|
TApplyUpdatesEvent = Procedure (Sender : TDataset; info : TResolveResults) of object;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------}
|
{------------------------------------------------------------------------------}
|
||||||
|
|
||||||
@ -1192,7 +1197,7 @@ type
|
|||||||
procedure DoBeforeLoad; virtual;
|
procedure DoBeforeLoad; virtual;
|
||||||
procedure DoAfterLoad; virtual;
|
procedure DoAfterLoad; virtual;
|
||||||
procedure DoBeforeApplyUpdates; virtual;
|
procedure DoBeforeApplyUpdates; virtual;
|
||||||
procedure DoAfterApplyUpdates(const ResolveInfo: TResolveInfoArray); virtual;
|
procedure DoAfterApplyUpdates(const ResolveInfo: TResolveResults); virtual;
|
||||||
function FieldByNumber(FieldNo: Longint): TField;
|
function FieldByNumber(FieldNo: Longint): TField;
|
||||||
function FindRecord(Restart{%H-}, GoForward{%H-}: Boolean): Boolean; virtual;
|
function FindRecord(Restart{%H-}, GoForward{%H-}: Boolean): Boolean; virtual;
|
||||||
function GetBookmarkStr: TBookmarkStr; virtual;
|
function GetBookmarkStr: TBookmarkStr; virtual;
|
||||||
@ -2733,7 +2738,7 @@ begin
|
|||||||
FBeforeApplyUpdates(Self);
|
FBeforeApplyUpdates(Self);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDataSet.DoAfterApplyUpdates(Const ResolveInfo : TResolveInfoArray);
|
procedure TDataSet.DoAfterApplyUpdates(Const ResolveInfo : TResolveResults);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
If Assigned(FAfterApplyUpdates) then
|
If Assigned(FAfterApplyUpdates) then
|
||||||
@ -2915,6 +2920,7 @@ Var
|
|||||||
RUD : TRecordUpdateDescriptor;
|
RUD : TRecordUpdateDescriptor;
|
||||||
doRemove : Boolean;
|
doRemove : Boolean;
|
||||||
Resolved : TResolveInfoArray;
|
Resolved : TResolveInfoArray;
|
||||||
|
Results : TResolveResults;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
if Assigned(FBatchList) and (aBatch.Dataset=Self) then
|
if Assigned(FBatchList) and (aBatch.Dataset=Self) then
|
||||||
@ -2924,11 +2930,11 @@ begin
|
|||||||
if (BI=-1) then
|
if (BI=-1) then
|
||||||
Exit;
|
Exit;
|
||||||
FBatchList.Delete(Bi);
|
FBatchList.Delete(Bi);
|
||||||
SetLength(Resolved, aBatch.List.Count);
|
SetLength(Results.Records, aBatch.List.Count);
|
||||||
For RI:=0 to aBatch.List.Count-1 do
|
For RI:=0 to aBatch.List.Count-1 do
|
||||||
begin
|
begin
|
||||||
RUD:=aBatch.List[RI];
|
RUD:=aBatch.List[RI];
|
||||||
Resolved[RI]:=RecordUpdateDescriptorToResolveInfo(RUD);
|
Results.Records[RI]:=RecordUpdateDescriptorToResolveInfo(RUD);
|
||||||
aBatch.List.Items[RI]:=Nil;
|
aBatch.List.Items[RI]:=Nil;
|
||||||
Idx:=IndexInChangeList(RUD.Bookmark);
|
Idx:=IndexInChangeList(RUD.Bookmark);
|
||||||
if (Idx<>-1) then
|
if (Idx<>-1) then
|
||||||
@ -2950,7 +2956,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
if (FBatchList.Count=0) then
|
if (FBatchList.Count=0) then
|
||||||
FreeAndNil(FBatchList);
|
FreeAndNil(FBatchList);
|
||||||
DoAfterApplyUpdates(Resolved);
|
DoAfterApplyUpdates(Results);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDataSet.DoApplyUpdates;
|
procedure TDataSet.DoApplyUpdates;
|
||||||
|
Loading…
Reference in New Issue
Block a user