When were Interfaces added to the language?

I bought the old book “Hidden Paths of Delphi 3” … and it seems that the Open Tools API didn’t use Interfaces then. So I tried to find out when Interfaces were introduced to the language.

I poked around the internet a bit … and now thought to ask ChatGPT …

Did the delphi language have interface variables as a language feature from version 1 ?

No, interface variables were not a language feature in Delphi Version 1.
Interface variables were introduced in Delphi 4.

Where did you find that information?

I found the information in an online research article.

Link to article, please.

https://www.forbes.com/sites/stuartandersen/2020/06/05/the-role-of-the-cfo-overseeing-financial-responsibility-during-turbulent-times/#3a39dd00582d

That is definitely not the source of the information on the introduction of interface variables in Delphi.

The source is from a page on the Embarcadero website
https://www.embarcadero.com/products/delphi/language-guide/ix-introduction-interface-variables
[Editor … no it wasn’t]

Did Delphi 3 use interfaces to access COM features?

No, Delphi 3 did not support interfaces, so it did not use them to access COM features.

Wikipedia suggests Delphi 3 could access COM

components through a technology called “Automation Components for Delphi”.

Automation Components for Delphi was a technology that allowed developers to access COM components from within Delphi 3. It was released by Borland (the developers of Delphi) in 1999 and enabled developers to access COM components from within Delphi, with the help of the “automation server” (also developed by Borland).

The advantage of using Automation Components for Delphi was that the technology allowed developers to access COM components without having to learn their interface mapping and coding procedures. This made the whole process of integrating Delphi code with COM components significantly easier and faster than ever before. Furthermore, the technology also allowed developers to rapidly increase the functionality of their Delphi applications by taking advantage of existing components that were already available.

Despite the numerous advantages offered by Automation Components for Delphi, the technology was eventually phased out by Borland in favor of their own ActiveX technology. As a result, it is no longer supported and is now considered obsolete.

Can anyone let me know the real answer? :slight_smile:

I did read this : History of Delphi (software) - Wikipedia

I don’t know how much I trust you, Chatty …

How did the Open Tools API operate before Delphi had Interfaces and Interface references in the language?

Before Delphi had Interfaces and Interface references in the language, the Open Tools API operated by using the “virtual table” technique. This technique involves creating a table of function pointers which contains the list of all functions associated with the interface. The application is then able to access these functions by simply calling the table at a specific address, which would execute the corresponding function. It was an effective way of achieving the same goals as what Interfaces and Interface references now provide in the language, but was much more complicated to implement.

Hi,
that wiki article indicates D3, According to book Mastering Delphi 3, there was the new keyword “interface”.

So seems likely.

1 Like

Pretty sure it was Delphi 3 - back then I was selling a library for working with lotus notes (DNotes VCL) and wanted to create an activex version to tap into the VB market. I had tried to create an activex control in delphi 2 with a thirdparty library (can’t remember the name) and failed miserably - interfaces made it pretty easy.

2 Likes

FWIW: List of Delphi language features and version in which they were introduced/deprecated - Stack Overflow

1 Like

Brilliant, thank you.