Changeset 163 for PinConnection/UCommThread.pas
- Timestamp:
- Feb 8, 2011, 11:02:02 AM (14 years ago)
- Location:
- PinConnection
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
PinConnection
- Property svn:ignore
-
old new 1 1 lib 2 backup
-
- Property svn:ignore
-
PinConnection/UCommThread.pas
r129 r163 6 6 7 7 uses 8 Classes, SysUtils, blcksock, UCommPin, SyncObjs, UStreamHelper, UCommon; 8 Classes, SysUtils, blcksock, UCommPin, SyncObjs, UStreamHelper, UCommon, 9 UMicroThreading, DateUtils; 9 10 10 11 type … … 15 16 { TCommThreadReceiveThread } 16 17 17 TCommThreadReceiveThread = class(T Thread)18 TCommThreadReceiveThread = class(TMicroThread) 18 19 public 19 20 Parent: TCommThread; … … 33 34 FReceiveThread: TCommThreadReceiveThread; 34 35 FInputBuffer: TMemoryStream; 35 FInputBufferLock: T CriticalSection;36 FDataAvailable: T Event;36 FInputBufferLock: TMicroThreadCriticalSection; 37 FDataAvailable: TMicroThreadEvent; 37 38 procedure ReceiveData(Sender: TCommPin; Stream: TStream); 38 39 procedure ExtReceiveData(Sender: TCommPin; Stream: TStream); … … 91 92 inherited Create; 92 93 FInputBuffer := TMemoryStream.Create; 93 FInputBufferLock := T CriticalSection.Create;94 FInputBufferLock := TMicroThreadCriticalSection.Create; 94 95 Ext := TCommPin.Create; 95 96 Ext.OnReceive := ExtReceiveData; 96 97 Pin := TCommPin.Create; 97 98 Pin.OnReceive := ReceiveData; 98 FDataAvailable := T Event.Create(nil, False, False, '');99 FDataAvailable := TMicroThreadEvent.Create; 99 100 end; 100 101 … … 119 120 StreamHelper := TStreamHelper.Create(Stream); 120 121 with Parent do repeat 121 try 122 if FDataAvailable.WaitFor(1) = wrSignaled then try 122 if FDataAvailable.WaitFor(1 * OneMillisecond) = wrSignaled then try 123 123 FInputBufferLock.Acquire; 124 124 Stream.Size := 0; … … 129 129 FInputBufferLock.Release; 130 130 end; 131 except 132 on E: Exception do 133 if Assigned(ExceptionHandler) then ExceptionHandler(Self, E); 134 end; 131 Yield; 135 132 until Terminated; 136 133
Note:
See TracChangeset
for help on using the changeset viewer.