Changeset 4 for trunk/UFormMain.pas
- Timestamp:
- Nov 23, 2014, 12:56:33 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/UFormMain.pas
r3 r4 6 6 7 7 uses 8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, UKernel; 8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, 9 UKernel, UMemory; 9 10 10 11 type … … 13 14 14 15 TForm1 = class(TForm) 16 Memo1: TMemo; 15 17 procedure FormCreate(Sender: TObject); 16 18 procedure FormDestroy(Sender: TObject); 17 19 procedure FormShow(Sender: TObject); 18 20 private 19 { private declarations } 21 SerialText: string; 22 procedure SerialDeviceReceiveDataSync; 23 procedure SerialDeviceReceiveData(Data: TMemory); 20 24 public 21 25 Kernel: TKernel; … … 28 32 29 33 uses 30 UList, UA PI, UClock, UPlatformBase;34 UList, UApp, UAPI, UClock, UPlatformBase, UThreadEx; 31 35 32 36 {$R *.lfm} … … 37 41 var 38 42 NewApp: TApp; 43 SerialDevice: TBaseSerialDevice; 39 44 begin 40 45 Kernel := TKernel.Create; 41 46 Kernel.SchedulerClass := TBaseScheduler; 42 47 Kernel.FileSystemClass := TBaseFileSystem; 43 48 SerialDevice := TBaseSerialDevice.Create; 49 SerialDevice.Name := 'Serial0'; 50 SerialDevice.OnReceiveData := SerialDeviceReceiveData; 51 Kernel.Devices.Add(SerialDevice); 44 52 NewApp := TAppClock.Create; 45 53 Kernel.Apps.Add(NewApp); … … 56 64 end; 57 65 66 procedure TForm1.SerialDeviceReceiveDataSync; 67 begin 68 Memo1.Lines.AddText(SerialText); 69 end; 70 71 procedure TForm1.SerialDeviceReceiveData(Data: TMemory); 72 begin 73 SetLength(SerialText, Data.Size); 74 Move(Data.Data^, SerialText[1], Data.Size); 75 TThreadEx.Synchronize(TThreadEx.CurrentThread, SerialDeviceReceiveDataSync); 76 end; 77 58 78 end. 59 79
Note:
See TracChangeset
for help on using the changeset viewer.