Delphi is a general-purpose language based on an Object Pascal dialect with its roots coming from Borland Turbo Pascal. It comes with its own IDE designed to support rapid application development (RAD).
It allows cross-platform native (compiled) application development from a single code base. Currently supported platforms are Windows, OSX, iOS and Android.
It comes with two visual frameworks:
This FireDAC example, and the others I'm planning to submit, will avoid the use of native calls to asynchronously open the dataset.
for
-loop syntax does not provide anything to change step amount from 1
to any other value.Integer
, the upper and lower values will be determined only once. Changes to such variables will have no effect on the loops iteration count.Interfaces are used to describe the needed information and the expected output of methods and classes, without providing information of the explicit implementation.
Classes can implement interfaces, and interfaces can inherit from each other. If a class is implementing an interface, this means all functions and procedures exposed by the interface exist in the class.
A special aspect of interfaces in delphi is that instances of interfaces have a lifetime management based on reference counting. The lifetime of class instances has to be managed manually.
Considering all these aspects, interfaces can be used to achieve different goals:
RTTI IN DELPHI - EXPLAINED
The Run-Time Type Information In Delphi - Can It Do Anything For You? article by Brian Long provides a great introduction to the RTTI capabilities of Delphi. Brian explains that the RTTI support in Delphi has been added first and foremost to allow the design-time environment to do its job, but that developers can also take advantage of it to achieve certain code simplifications. This article also provides a great overview of the RTTI classes along with a few examples.
Examples include: Reading and writing arbitrary properties, common properties with no common ancestor, copying properties from one component to another, etc.