Delphi Programming
|
The Dining Philosophers Problem. Part 1.
This article is dedicated to the famous dining philosophers' problem, which was proposed by Edward Dijkstra in 1965. The problem is a classical demonstration of deadlock problems in the concurrent programming.
|
|
RTTI Part 5. Summary.
RTTI is undocumented in Delphi 3,Delphi 4, Delphi 5 as well as in any version of C++ Builder. There are two places
where you can find information about RTTI - typinfo.pas source file, which is located in X:\delphi\Source\VCL
directory and this article. This article contains a complete listing of RTTI types, functions and procedures.
|
|
RTTI part 4. Using RTTI with properties
This article continues the review of RTTI possibilities. We'll learn the generic way of changing any property of any
control on a form. Using RTTI allows taking no care of the control's type.
|
RTTI Part 3. Working with property's defaults.
Each published property can have a default value. This article explains how to extract information about the property's
default value at runtime and to assign the value to the ordinal property.
|
|
Run-time type information. Part 1
This article provides an introduction to run-time type information (RTTI). RTTI is information that Delphi stores in the compiled binary file of your application.
|
|
TThreadComponent
Imagine that your application needs to perform a time-consuming operation (such as an automation server call, saving
data to a disk file, exporting data to database server, etc). While your application is busy, user relaxes in the armchair
and stupidly looks at display. Is there anyone who likes it? Moreover, Windows do not even redraw an application's
form. You already know how to perform operation simultaneously with threads (if not - see previous articles). Now let's
look to a TThreadComponent - a native VCL component that allows quick and easy threading. The code is written by
me and it was tested in several applications. It is free for Suite101 members!
|
|
More collections. Part 1.
In the previous article, we looked at the powerful VCL object - TCollection. Now I want to show you streaming
capabilities of TCollection. And more, we'll create our own VCL component.
|
|
Using collections. Part1.
This article starts new series that is dedicated to some
useful VCL classes.
Now let' look at TCollection class. TCollection is a container
for TCollectionItem objects. The VCL controls (such as TDBGrid,
TListView, TStatusBar, etc) widely use objects derived from
TCollection.
|
|
Windows and message handling. Part 2
Previous article is a theoretical introduction into windows
and message handling. Now let's look at the example.
Let's take an example from Client Message Handling article and
rework it using windows and messages.
|
|
Windows and message handling. Part 1
As far as you know, a window in an application written for the
Microsoft Windows operating system is a rectangular area of the
screen where the application displays output and receives input
from the user. A window can be a target of messages memory
area that contains two parameters.
It's easy to use windows for inter-thread communication.
|
|
Client requests handling.
One of common usage of threads is a client request processing.Server
application should create one or more threads per client in order
to process their requests concurrently without blocking. This
article is dedicated to common way of creating threads that
process messages (or "client requests") sequentially.
|
|
Coordinating threads Part I
How to make threads work together? How to avoid simultaneous accessing global objects or variables? What support does the VCL provide?
|
|
Using threads Part I
How to enhance the program by using threads? How to make an existing program multithreaded?
Borland Delphi makes writing multi-threaded applications easier.
This article touches upon the following:
What are threads.
Why to use threads.
What support does the VCL provide.
Creating TThread class descendant is also discussed
|
|