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 7054227
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 28, 20262026-05-28T03:36:04+00:00 2026-05-28T03:36:04+00:00

If I am trying to call a procedure which has a record type (not

  • 0

If I am trying to call a procedure which has a record type (not object) as a parameter, is it possible to somehow pass details of that parameter “inline” without having to declare a variable of that type first?

eg assume I have this simple record type:

type TMyRecord = record
  AString: string;
  AnInt: Integer;
end;

and this procedure declaration:

procedure MyProcedure(Rec: TMyRecord);

If I want to call MyProcedure do I have to declare a variable of type TMyRecord or can I do something like:

MyProcedure(TMyRecord("Test", 10));

That doesn’t work (XE2) (get a compiler error about it expecting a “)”).

So, can I do something like that? Or not possible.

Thanks

  • 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-28T03:36:04+00:00Added an answer on May 28, 2026 at 3:36 am

    It is possible using the advanced record structure.

    For more information about advanced records, see the Records (advanced) section in Delphi help.

    This is a small prototype to see how it works in your case to preinitialize a record in a function/procedure call :

    Type
      TRecord = record
       AString : String;
       AnInt : Integer;
       Constructor Create( Const s : String; i : Integer);
      end;
    
    constructor TRecord.Create(const s: String; i: Integer);
    begin
      AString := s;
      AnInt := i;
    end;
    
    procedure DoSomething( theRec : TRecord);
    begin
      WriteLn(theRec.AString, ' ',theRec.AnInt);
    end;
    
    begin
      DoSomeThing( TRecord.Create('S',1));
      ReadLn;
    end.
    

    Looking at the Delphi RTL, see the definitions of the record types TPoint and TRect in unit system.types (XE2).
    They define some overloaded Create constructors, which are used in lots of places to preinitialize the record structures in function/procedure calls.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to call a stored procedure from my .NET code which has one
I am trying to call the stored procedure using subsonic and getting Object Reference
I'm trying to call an Oracle Stored Procedure which returns XMLType data, but all
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Procedure 'STP_Insert_tblReceipt' expects parameter '@CPVFlag', which was not supplied.
I'm trying to create a simple class THistory that has one procedure that takes
I'm trying to call a stored procedure (on a SQL 2005 server) from C#,
I'm trying to call a stored procedure using ADO .NET and I'm getting the
I'm trying to call a PostgreSQL stored procedure from a Java app; the procedure
I'm having issues when trying to call a MySQL (5.0.77) stored procedure with parameters,
I'm having a never-ending problem with trying to call a stored procedure from a

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.