This article can be obsolete: Actual documentation online
Array of const
Arrays of const are similar to the open array parameters. The value of an array of const has to be represented by two values in C++: a pointer to a TVarRec and the Index of the last element of the array, which begins at the position which the pointer points to.
procedure foo(arr : array of const);
->
void __fastcall foo ( TVarRec* arr, const int Args_Size );
When such a functions is called, the macro ARRAYOFCONST is written into the C++ output. This macro is defined for the CBuilder C++ as:
#define ARRAYOFCONST(values) OpenArrayvalues, OpenArrayCount values.GetHigh()
Delphi2Cpp decides by the expected parameter type how the set argument is translated:
procedure foo(arr : array of const); procedure bar(set : TCharSet);
foo(['hello', 'world']); bar(['hello', 'world']);
->
#define test__0 (System::Set< AnsiString, 0, 255 >() << AnsiString ( "hello" ) << AnsiString ( "world" ) )
void __fastcall foo ( TVarRec* arr, const int arr_size );
void __fastcall bar ( TStringSet set );
foo ( ARRAYOFCONST(( "hello", "world" )) ); bar ( test__0 );
If such a passed array is passed further to another function, then Delphi2Cpp takes care that the second parameter is also passed in the C++ code.
procedure foo(var arr: array of const); begin bar( arr ); end;
->
void __fastcall foo ( TVarRec* arr, const int arr_size )
{
bar ( arr, arr_size );
}
Deutsch
| Latest News |
|
05/18/26
Delphi2Cpp 2.7: Translation heuristics [more...] |
|
11/18/25
Delphi2Cpp 2.6: Delphi Interfaces [more...] |
|
"We have successfully completed the projects, and the applications are (for the most part) already running at our customers' sites." ProCom AUTOMATION
05/26/26
|
|
"Thanks for your great work, really appreciate the work you have done on zlib and compiling ... test case." Mattewada, Udayabhaskar
Nokia India
02/01/2021
|
|
[from case study...] "A masterpiece -- Delphi2Cpp has exceeded all my expectations by far." Tony Hürlimann
virtual-optima
08/20/2011
|
|
"First off, I have to say WOW! Delphi2Cpp is doing a *fantastic* job!" Daniel Flower
linkrealms
01/15/2011
|
|
"Though we have not finished the conversion yet, I'm glad that we've found you and could transform Eurocap to C++ with the help of Delphi2CB and you. (And I'm also glad that we could help you to make Delphi2CB better😉)"
Gáspár Huba
|
|
This website is generated from plain text with
[Minimal Website]
|
Minimal Website is made with TextTransformer
|
TextTransformer is made with Borland
C++Builder
|