图书目录及源代码-《Delphi基于事件的和异步的编程》
Code examples from Delphi Event-based and Asynchronous Programming Book
https://dalija.prasnikar.info/delphiebap/
第1部分.循环Part 1. The Loop
第1章隐藏的复杂性Chapter 1. Hidden complexity
- ConHelloWorld.dpr
- HelloWorld.dpr
第2章窥视控制台Chapter 2. Peeking at the console
- ConSumParams.dpr
- ConSumRead.dpr
- ConSumLoop.dpr
第2部分.消息系统Part 2. Messaging Systems
第7章Windows消息系统Chapter 7. Windows Messaging System
- 7.1 Windows Message Queue消息队列
- WinApp.dpr
第8章VCL中的Windows消息系统Chapter 8. Windows Messaging System in VCL
- 8.2 Window for non-visual components非可视组件的窗口
- GearApp.dpr
- GearU.pas
- GearMainF.pas
- GearMainF.dfm
第10章System.Messaging Chapter 10. System.Messaging
- MsgApp.dpr
- MsgMainF.pas
- MsgMainF.dfm
第三部分:生命,宇宙和一切Part 3. Life, the Universe, and Everything
第12章.自动内存管理和第14章.类帮助器Chapter 12. Automatic memory management and Chapter 14. Class helpers
- XMLBuilderApp.dpr
- XMLBuilderU.pas
- XMLBuilderMainF.pas
- XMLBuilderMainF.dfm
- XMLBuilderIntfU.pas
第13.6章接口和泛型Chapter 13.6 Interfaces and generics
- GenIntf.dpr
第15章.匿名方法和匿名函数(lambda) Chapter 15. Anonymous methods and lambdas
-
15.4 Anonymous method variable capture匿名方法变量捕获
- AnonymousVar.dpr
- AnonymousVarProc.dpr
- AnonymousVarProc2.dpr
- Anonymous1.dpr
- Anonymous2.dpr
- Anonymous3.dpr
- Anonymous4.dpr
- Anonymous5.dpr
- Anonymous6.dpr
- Anonymous7.dpr
- Anonymous8.dpr
-
15.5 Capturing and loops捕获和循环
- CaptureLoops.dpr
- CaptureLoopsCorrect.dpr
- CaptureLoopsObject.dpr
-
15.6 Anonymous method reference cycles匿名方法参考周期
- Cycle1.dpr
- Cycle2.dpr
- Cycle3.dpr
- Cycle4.dpr
-
15.7 Using weak references to break anonymous method reference cycles使用弱引用打破匿名方法引用周期
- CycleWeak.dpr
第4部分.异步编程和多线程Part 4. Asynchronous Programming and Multithreading
第16章异步编程和多线程Chapter 16. Asynchronous programming and multithreading
- SynchronousApp.dpr
- SynchronousMainF.pas
- SynchronousMainF.dfm
第19章Application.ProcessMessages重入问题Chapter 19. Application.ProcessMessages reentrancy problem
- ProcessMsgApp.dpr
- ProcessMsgMainF.pas
- ProcessMsgMainF.dfm
第20章.将长操作移至后台线程Chapter 20. Moving long operations to a background thread
- BackgroundApp.dpr
- BackgroundMainF.pas
- BackgroundMainF.dfm
第21章.异步消息对话框Chapter 21. Asynchronous message dialog
- AsyncDlg.dpr
- AsyncDlg.dproj
- AsyncDlgMainF.pas
- AsyncDlgMainF.fmx
第22章.任务Chapter 22. Tasks
- TasksApp.dpr
- TasksMainF.pas
- TasksMainF.dpr
第23章.回调未来Chapter 23. Back to the Future
- FutureApp.dpr
- FutureMainF.pas
- FutureMainF.dfm
第24章.没有像你自己的未来那样的未来Chapter 24. There is no Future like your own Future
-
24.1 Generic approach to future面向未来的通用方法
- GenFutureApp.dpr
- GenFutureMainF.pas
- GenFutureMainF.dfm
- NX.Core.pas
- NX.GenFuture.pas
-
24.2 TValue approach to future面向未来的方法TValue
- ValueFutureApp.dpr
- ValueFutureMainF.pas
- ValueFutureMainF.dfm
- NX.Future.pas
第5部分.线程安全Part 5. Thread Safety
第25章.线程安全到底是什么?Chapter 25. What is thread safety anyway?
-
25.2 Working example of thread-unsafe code线程不安全代码的工作示例
- ThreadUnsafe.dpr
第29章.使用不可变数据Chapter 29. Use immutable data
- Mutability.dpr
第31章.初始化模式Chapter 31. Initialization pattern
- InitializationPattern.pas
第32章.保护共享数据Chapter 32. Protecting shared data
-
32.1 Synchronization primitives (objects)同步原语(对象)
- UsingSyncObjs.pas
- DeadlockApp.dpr
- DeadlockMainF.pas
- DeadlockMainF.dfm
-
32.2 Thread synchronization线程同步
- ThreadSyncApp.dpr
- ThreadSyncMainF.pas
- ThreadSyncMainF.dfm
-
32.4 Events事件
- EventsApp.dpr
- EventsMainF.pas
- EventsMainF.dfm
第6部分.GUI和多线程Part 6. GUI and Multithreading
第34章.与主线程进行通信Chapter 34. Communicating with the main thread
- GUICommApp.dpr
- GUICommMainF.pas
- GUICommMainF.dfm
- ProgressF.pas
- ProgressF.dfm
- ControlsF.pas
- ControlsF.dfm
- SpeedF.pas
- SpeedF.dfm
- MessagingF.pas
- MessagingF.dfm
第35章.通讯和GUI问题Chapter 35. Communication and GUI issues
-
35.1 Deadlocking the main thread死锁主线程
- GUIDeadlockApp.dpr
- GUIDeadlockMainF.pas
- GUIDeadlockMainF.dfm
-
35.2 Cleanup on GUI destruction清除GUI破坏
- GUICleanupApp.dpr
- GUICleanupMainF.pas
- GUICleanupMainF.dfm
- DestroyF.pas
- DestroyF.dfm
- GuardianF.pas
- GuardianF.dfm
- WaitF.pas
- WaitF.dfm