Coder Social home page Coder Social logo

dalijap / code-delphi-async Goto Github PK

View Code? Open in Web Editor NEW
48.0 13.0 18.0 48 KB

Code examples from Delphi Event-based and Asynchronous Programming Book

Home Page: https://dalija.prasnikar.info

License: Other

Pascal 100.00%
delphi event-based asynchronous multithreading

code-delphi-async's Introduction

Code examples from Delphi Event-based and Asynchronous Programming Book

https://dalija.prasnikar.info/delphiebap/

https://dalija.prasnikar.info

Part 1. The Loop

Chapter 1. Hidden complexity

  • ConHelloWorld.dpr
  • HelloWorld.dpr

Chapter 2. Peeking at the console

  • ConSumParams.dpr
  • ConSumRead.dpr
  • ConSumLoop.dpr

Part 2. Messaging Systems

Chapter 7. Windows Messaging System

  • 7.1 Windows Message Queue
    • WinApp.dpr

Chapter 8. Windows Messaging System in VCL

  • 8.2 Window for non-visual components
    • GearApp.dpr
    • GearU.pas
    • GearMainF.pas
    • GearMainF.dfm

Chapter 10. System.Messaging

  • MsgApp.dpr
  • MsgMainF.pas
  • MsgMainF.dfm

Part 3. Life, the Universe, and Everything

Chapter 12. Automatic memory management and Chapter 14. Class helpers

  • XMLBuilderApp.dpr
  • XMLBuilderU.pas
  • XMLBuilderMainF.pas
  • XMLBuilderMainF.dfm
  • XMLBuilderIntfU.pas

Chapter 13.6 Interfaces and generics

  • GenIntf.dpr

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

Part 4. Asynchronous Programming and Multithreading

Chapter 16. Asynchronous programming and multithreading

  • SynchronousApp.dpr
  • SynchronousMainF.pas
  • SynchronousMainF.dfm

Chapter 19. Application.ProcessMessages reentrancy problem

  • ProcessMsgApp.dpr
  • ProcessMsgMainF.pas
  • ProcessMsgMainF.dfm

Chapter 20. Moving long operations to a background thread

  • BackgroundApp.dpr
  • BackgroundMainF.pas
  • BackgroundMainF.dfm

Chapter 21. Asynchronous message dialog

  • AsyncDlg.dpr
  • AsyncDlg.dproj
  • AsyncDlgMainF.pas
  • AsyncDlgMainF.fmx

Chapter 22. Tasks

  • TasksApp.dpr
  • TasksMainF.pas
  • TasksMainF.dpr

Chapter 23. Back to the Future

  • FutureApp.dpr
  • FutureMainF.pas
  • FutureMainF.dfm

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

    • ValueFutureApp.dpr
    • ValueFutureMainF.pas
    • ValueFutureMainF.dfm
    • NX.Future.pas

Part 5. Thread Safety

Chapter 25. What is thread safety anyway?

  • 25.2 Working example of thread-unsafe code

    • ThreadUnsafe.dpr

Chapter 29. Use immutable data

  • Mutability.dpr

Chapter 31. Initialization pattern

  • InitializationPattern.pas

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

Part 6. GUI and Multithreading

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

Chapter 35. Communication and GUI issues

  • 35.1 Deadlocking the main thread

    • GUIDeadlockApp.dpr
    • GUIDeadlockMainF.pas
    • GUIDeadlockMainF.dfm
  • 35.2 Cleanup on GUI destruction

    • GUICleanupApp.dpr
    • GUICleanupMainF.pas
    • GUICleanupMainF.dfm
    • DestroyF.pas
    • DestroyF.dfm
    • GuardianF.pas
    • GuardianF.dfm
    • WaitF.pas
    • WaitF.dfm

code-delphi-async's People

Contributors

dalijap avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.