Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 622983
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T19:02:37+00:00 2026-05-13T19:02:37+00:00

Just discovered something rather funny: var Queue : TQueue <TProc>; MyProc : TProc; …

  • 0

Just discovered something rather funny:

var
  Queue  : TQueue <TProc>;
  MyProc : TProc;
...
MyProc := Queue.Dequeue;

I think you see what is intendend here. However, the compiler thinks I want to store the Queue.Dequeue method (type “procedure of object”) in MyProc and reports an error

E2010 Incompatible Types: 'TProc' und 'Procedure of object'

The workaround I came up with goes like this

MyProc := TProc (Pointer (Queue.Dequeue));

Is there a more elegant solution?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T19:02:37+00:00Added an answer on May 13, 2026 at 7:02 pm

    There’s a bit of syntactical ambiguity there about whether the name “Dequeue” refers to the function itself, or the function’s return value. And since you’re dealing with an anonymous method pointer which you can assign a normal function to, it’s trying to interpret that as a function assignment, not a function result assignment. Casting it to a pointer is the wrong solution, as that would force the function assignment to go through, which would then cause all sorts of fun errors when you attempt to invoke MyProc.

    The correct way to fix it is by removing the syntactical ambiguity. Put an empty parenthesis after Dequeue, so that the compiler is sure that you’re calling the function and not simply referencing it by name, and then it’ll work.

    MyProc := Queue.Dequeue();
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 355k
  • Answers 355k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer To close this out: I did wind up using CodeSynthesis.… May 14, 2026 at 8:40 am
  • Editorial Team
    Editorial Team added an answer Yeah, this can definitely be done. You don't need ssh… May 14, 2026 at 8:40 am
  • Editorial Team
    Editorial Team added an answer You can access IE8 script console by launching the "Developer… May 14, 2026 at 8:40 am

Related Questions

I have just recently discovered how much I enjoy developing code the TDD way:
I've discovered this idiom recently, and I am wondering if there is something I
My input to gnuplot looks something like this: 1:00am 1 10 1:00am 30 12
Playing with URLs, more specifically building them incrementally from other, discovered URLs. In doing
I have a website developed in ASP.NET and VB.NET which has a place for

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.