The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 2,805 other followers

Delphi: forward declaration of classes and interfaces, but no records.

Posted by jpluimers on 2016/02/24

As Delphi allows to forward declare both classes and interfaces, people often wonder about records.

The short answer: you can’t forward declare record types.

The long answer: you can’t directly, but you can indirectly either reference based (through pointers or callbacks with const parameters) or operator based (through operator overloading).

I think the reason forward declaration of classes and interfaces is possible because they both are reference types, so referring does not impose copying.

Anyway, the trick is this:

You can’t have forward declarations for record types. Define both Implicit operators in the second type

Source: delphi – How do I define implicit conversion operators for mutually dependent records? – Stack Overflow



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: