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

  • Home
  • SEARCH
  • 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 8017525
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 4, 20262026-06-04T20:52:14+00:00 2026-06-04T20:52:14+00:00

I have some code that puts a bunch of TNotifyEvents in a vector .

  • 0

I have some code that puts a bunch of TNotifyEvents in a vector.

std::vector<TNotifyEvent> m_availableCallbacks;

This is a member of the main form of the application. In the forms constructor it’s filled with the events.

m_availableCallbacks.push_back(ReadoutLastValue);
m_availableCallbacks.push_back(ReadoutCurrentDay);
m_availableCallbacks.push_back(ReadoutLastDay);
m_availableCallbacks.push_back(Readout7Days);
m_availableCallbacks.push_back(Readout1Month);
m_availableCallbacks.push_back(ReadoutChooseTimeSpan);
m_availableCallbacks.push_back(ReadoutAllData);

This vector is then iterated and used to create a popup menu and assign notification events to the elements in that popup menu.

Compiling this locally poses no problem. When I compiled it on the build server (running TeamCity 6.5) I get an internal compiler error on the row equal to the second push_back call.

I tried disabling smart cache precompiled headers locally on the build agent by editing the cbproj files. This produced a successfull build. So I removed the directive to use smart cache precompiled headers from all cbproj files and committed the changes. I told TeamCity to do a Clean Checkout and once again I got the same internal compiler error, at the same place. The strange thing is that running a new compilation after the failed one succeeds, so this feels extremely random.

What is going on? I’m used to passing around function pointers (crated by myself) in other C++ compilers just fine. Is the internal handling of the TNotifyEvents broken or is the compiler just unstable and easily broken?

Looking at other code taking TNotifyEvents they don’t work on references or pointers, so I didn’t try that. And since the code (when it compiles) works as intended that does not seem to be the problem.

Update:

I can add that the log for TeamCity says that the FrontEnd.cpp file (which contains this code), is skipped when I re-run the compilation and it succeeds.

[10:04:37]: [MakeObjs] CallTarget
[10:04:37]:   [CallTarget] _CppDepCheck
[10:04:44]:     [_CppDepCheck] MessageMap
[10:04:44]:       [MessageMap] Skipping: ..., FrontEnd.cpp, ...

And for that to even work the compilation must have succeeded when the internal compiler error occurred. How could it otherwise skip compiling the file and still have it magically appear and be used in a compiled form? 🙂

Update2

After investigation I can confirm that this ONLY occurs when compiling in release mode. In release it happens even on my local machine in the IDE.
I have tried fiddling with the settings like

  • Disable all optimizations
  • Generate fastest code possible
  • External type files
  • and so on

cleaning the build between each try.
But the ICE does not go away. I did however manage to make it complain about another spot in another file. Setting the settings back to how they were before does NOT make the error go back to the FrontEnd.cpp file. This compiler feels kinda shaky 🙂

In fact I started getting ICE’s all over the code and had to restart the IDE to be able to compile anything at all.

  • 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-06-04T20:52:15+00:00Added an answer on June 4, 2026 at 8:52 pm

    This seems to be connected with the std::vector. Not sure if it’s broken by itself or the way it’s handled by bcc is the problem. But switching to an C-style array as a test instead made the ICE go away and it now works fine in both debug and release mode.

    TNotifyEvent m_availableCallbacks[7];
    

    I wanted to avoid this since adding new events to the vector would involve almost only one line of code. Now there will be a bit more to remember to change as well. But, better to have the application compile.

    If I’m wrong thinking that this is a bug in BCC, please correct me so I can go back to using a vector asap :)… Otherwise I hope Embarcadero fixes this asap.

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

Sidebar

Related Questions

I have some code that creates a bunch of UITextViews and puts them into
I have some code that does a bunch of HTTP GETs, POSTs, and PUTs
I have some code that loads an image file off the web and puts
I have some code that puts new text on first line of a text
I have got some code that gets the most frequent words and puts them
I have some code that creates a table like this: for($i=0; $i<$fields_num; $i++) {
I have some code that downloads lessons as JSON, parses them, and puts them
I have php code that puts some values into an Array as follows: $hunter=addslashes($MessageArray[1]);
I have some code that sets up a dictionary with some defualt values for
I have some code that gets the current logged in user. userID = request.session.get(_auth_user_id)

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.