ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/udr/client/2.5/FB25Events.pas
(Generate patch)

Comparing:
ibx/trunk/fbintf/client/2.5/FB25Events.pas (file contents), Revision 215 by tony, Thu Mar 15 16:25:03 2018 UTC vs.
ibx/branches/udr/client/2.5/FB25Events.pas (file contents), Revision 370 by tony, Wed Jan 5 14:59:15 2022 UTC

# Line 73 | Line 73 | interface
73  
74   uses
75    {$IFDEF WINDOWS}Windows, {$ENDIF}Classes, SysUtils, IB, FB25ClientAPI, FB25Attachment,
76 <  IBExternals, IBHeader, syncobjs, FBEvents
77 <  {$IF defined(FPC) and defined(UNIX)} ,cthreads {$IFEND};
76 >  IBExternals, IBHeader, syncobjs, FBEvents;
77  
78   type
79    TFB25Events = class;
# Line 107 | Line 106 | type
106      FDBHandle: TISC_DB_HANDLE;
107      FEventHandlerThread: TObject;
108      FAsyncEventCallback: TEventhandlerInterface;
109 +    FFirebird25ClientAPI: TFB25ClientAPI;
110    protected
111      procedure CancelEvents(Force: boolean = false); override;
112      function GetIEvents: IEvents; override;
# Line 261 | Line 261 | begin
261    FCriticalSection.Enter;
262    try
263      if not FInWaitState then Exit;
264 <    with Firebird25ClientAPI do
264 >    with FFirebird25ClientAPI do
265        if (Call(isc_Cancel_events( StatusVector, @FDBHandle, @FEventID),false) > 0) and not Force then
266          IBDatabaseError;
267  
# Line 281 | Line 281 | constructor TFB25Events.Create(DBAttachm
281   begin
282    inherited Create(DBAttachment,DBAttachment,Events);
283    FDBHandle := DBAttachment.Handle;
284 +  FFirebird25ClientAPI := DBAttachment.Firebird25ClientAPI;
285 +  OnDatabaseError := FFirebird25ClientAPI.IBDataBaseError;
286    FAsyncEventCallback := TEventhandlerInterface.Create(self);
287    FEventHandlerThread := TEventHandlerThread.Create(self,FAsyncEventCallback);
288   end;
# Line 305 | Line 307 | begin
307  
308      FEventHandler := EventHandler;
309      callback := @IBEventCallback;
310 <    with Firebird25ClientAPI do
310 >    with FFirebird25ClientAPI do
311        Call(isc_que_events( StatusVector, @FDBHandle, @FEventID, FEventBufferLen,
312                       FEventBuffer, TISC_CALLBACK(callback), PVoid(FAsyncEventCallback)));
313      FInWaitState := true;
# Line 321 | Line 323 | begin
323  
324    FInWaitState := true;
325    try
326 <    with Firebird25ClientAPI do
326 >    with FFirebird25ClientAPI do
327         Call(isc_wait_for_event(StatusVector,@FDBHandle, FEventBufferlen,FEventBuffer,FResultBuffer));
328    finally
329      FInWaitState := false;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines