Jump to content

Roger Cigol

Members
  • Content Count

    427
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by Roger Cigol

  1. Roger Cigol

    Form still on display when property Visible = false

    Hi Brian, A good point (and accurate). But I think I am happy that this is not the problem because the same underlying message approach is used to update the form contents and on the "visible but Visible = false" form there is a tick counter being displayed (in TrashEdit->Text) and this IS seen to be updating. Also a debug aid button on the form works - in it's OnClick event I reset the trash counter to zero and this happens when I click it. I think this all means there is no block on the main VCL message loop.
  2. Roger Cigol

    Form still on display when property Visible = false

    I have confirmed that the break point IS on the actual object being observed. void TTestStatusForm::DealWithState(void) { String IsVis = Visible ? String("Yes") : String("No"); Trash1Edit->Text = String(reinterpret_cast<__int64>(this)) + String(" Ex: ") + String(TrashExCounter) + String("Vis: ") + IsVis; if (!IsBusy) {// skip if still active from last tick IsBusy = true; try { DealWithStateMachine(); // !!! delete this ! int Trash = TrashEdit->Text.ToIntDef(0); Trash++; TrashEdit->Text = String(Trash); } catch (...) { // we don't want to lock up with IsBusy = true TrashEdit->Text = String(-999999); TrashExCounter++; } IsBusy = false; } } Trash1Edit is the blue box across the top of the screen shot. - DealWithState is called very 20ms (and the TrashEdit counter under the comment // !!! delete this is seen to be counting upwards). You can see that the status is showing that Visible = set to false and yet the form is still visible (hence I could do the screen shot). Note that the screen shot does not show the TrashEdit counter (this is off to the right) but this does count up.
  3. Roger Cigol

    Form still on display when property Visible = false

    Hi Remy, Thanks for taking an interest here. You are right about limitation of code snippet but it's very difficult to give a "complete" example since I don't know what bits are required to make it "complete". Your guess is a very sensible lead. I think I need to add a display of the "this" address of the form - then I can check when I debug with a break point and confirm (or otherwise) that I am in the correct object. I will try to do this tomorrow.
  4. Roger Cigol

    Button with changing image

    Or have two buttons in the same position on the screen and make only one visible at any one time....
  5. Roger Cigol

    Use of dynamic control names

    In C++ this is easy to do, provided you ensure that the five buttons are all in order in the header file for the form class. You then declare a pointer to the first button and then iterate through the series of buttons, incrementing the pointer each time until you reach the last button. Not sure of the equivalent in Delphi but I suspect there is one! I use this technique a lot. I listen to (and value) my learned colleagues advice here. It is correct. I have ran into this packing problem with structures / classes. This approach is "dodgy". As recommended below : need to create an array of pointers and iterate through this. Thanks to Remy and Sherlock for the benefit of their expertise.
  6. Roger Cigol

    Rad 12 Beta - Link to News

    From a C++ perspective there are some really positive advances being talked about for version 12. But we wait to see (read the disclaimer) how much actually makes it into the official release. Delphi users may feel C++ is not important. I think the opposite. For the long term survival of the product Embarcadero must increase their customer base and having a good Firemonkey multidevice solution based on C++ is one obvious way to help achieve this.
  7. Roger Cigol

    Migrate an old app in Delphi 2009 to modren C++

    Hi Remy, I am interpreting "Delphi Units" to mean source code from the original Delphi project that Alkanium has been asked to convert to C++...... As always, what you say is correct.
  8. Roger Cigol

    Migrate an old app in Delphi 2009 to modren C++

    What Brian Evans says is true for RAD Studio (where you have both C++ Builder and Delphi). If you only have C++ Builder version you cannot use Delphi units in your project (although it does, as he correctly states) still use Delphi for all the VCL RTL etc.
  9. Roger Cigol

    Migrate an old app in Delphi 2009 to modren C++

    I'm not sure I totally agree here. Yes, if you use an automatic translation then old bugs will be converted to C++. But if you think whilst rewriting AND add unit testing for modules AND refactor if/when there are obvious weaknesses in the existing Delphi code structure then you can end up with a better system. But you need to be aware that it's a big task.
  10. Roger Cigol

    Migrate an old app in Delphi 2009 to modren C++

    I don't know of anything that attempts to automatically translate delphi source code into C++. But Embarcadero RAD Studio C++ can use all the Embarcadero components that Delphi can use so if you use Embarcadero C++ you only have to (manually) translate the Delphi source codes specific to your project(s) into C++. I say "only" - this could still be a significantly complicated task. One bit of advice I always offer someone starting a new s/w project is to answer the question "how am I going to test it?" before you start. ("it" is both the overall project and each individual source code section).
  11. Anyone out there who is an Embarcadero C++ Programmer based in the UK (ideally SW England) with interest in engineering applications ? We could do with working with one (full time?)
  12. ...But it is all very preliminary. Embarcadero state: "Please note that all comments and statements about potential new features are subject to change and should not be relied on until the GA release of a product is available."
  13. ...or very few Embarcadero C++ are using Delphi Praxis
  14. Once this is up and running C++ builder may "come alive" again. I am cautiously optimistic !
  15. Roger Cigol

    Where is the link to register to the forum?

    Count me in as a volunteer too, if needed.
  16. Roger Cigol

    Where is the link to register to the forum?

    This problem is always going to be with us. But we do need to keep the forum open. New members = new blood = new ideas. Without new members the forum has signed it's own death warrant (even if it is a slow death).
  17. Roger Cigol

    Are local TGUIDS preinitialized?

    Writing a compiler is VERY complex. Speaking as someone who doesn't write compilers, I myself would be cautious about criticising my colleagues in the industry who do, particularly when given an explanation that does make some kind of sense (as in this discussion). I certainly agree with @Dalija Prasnikar there is nothing worse than a compiler warning that is wrong. It is hard to make them "go away" and they definitely can "hide" other useful warnings.
  18. The use of a 64 bit application talking to a 64 bit database is the one time I've found where the IDE being a 32bit app is a real pain. What it means is you can't use the same database settings for design time as you use for run time (and doing so is a really convenient feature when you develop 32 bit apps). I work on a large PostgreSQL project and PostgreSQL is only available as a 64bit database (and has been so for a long while - you have to go back several versions to get a 32 bit version). I just accept that I can't use the design time connectivity of FireDAC and just do all my debugging at runtime. It's not so convenient but I've got used to it!. Be sympathetic to the Embarcadero Team - changing the IDE to 64bit must happen but they need to make sure that there are 64bit versions (or equivalents ) for all the sub components (which come from many many places : just look at the IDE menu item: Help | About | Acknowledgements). It's not quite as straightforward job as you think. You also have the issue that it "breaks" all the design time features for the folk out there using FireDAC with 32 bit apps talking to 32 bit databases. These may well be used to seeing all the design time connection functionality.
  19. I've just noticed that there is no mention of the Delphi Coding Boot Camp 2023 on this Forum. Seems strange that no one else is aware of this! Delphi Code Boot Camp 2023
  20. Roger Cigol

    Delphi Coding Boot Camp 2023

    That's interesting ! I haven't had a single e-mail about it. Sorry if you feel I have just added to the "swamping".
  21. Roger Cigol

    Delphi Coding Boot Camp 2023

    Am I blowing my own trumpet too much to let people know that I am presenting "Introduction to XML Mapper" in this bootcamp today at 20:00 hrs UK time = 14:00 hrs USA CST ? If the answer is "yes" than I apologise
  22. Roger Cigol

    Paradox in FireDAC Delphi 11 Ent 32bit VCL App

    In the unlikely but not impossible event that you have field names in your paradox tables that include the # symbol I point you to this posting: Upgrading paradox field names containing # symbol
  23. Roger Cigol

    Paradox in FireDAC Delphi 11 Ent 32bit VCL App

    I too migrated a system away from Paradox a long long time ago. Paradox was good in it's time but it's limitations (particularly for a multi-user interface to the database) are very significant. I would definitely migrate to a modern and supported database (there are several open-source type solutions that are only a free of charge download away....)
  24. A respectful suggestion: It would be more useful to other users of this forum if you posted this new question as a separate question with an appropriate title....
  25. Roger Cigol

    coff2omf does not create any output or error messages

    The use of COFF format is coming - how soon is unspecified but David Millington has announced this in his post here: David's What's coming in C++ Builder
×