Jump to content

Roger Cigol

Members
  • Content Count

    430
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by Roger Cigol

  1. Roger Cigol

    Unable to print

    @Fabrizio The Cat I am not sure if I can help you further. I am on RAD Studio 12.3 (about to change to 13...). I also have not used the clang32 compiler much. I have lots of still active projects based on the "classic" compiler and many that I've upgraded (and some written more recently) which are 64bit apps (and which will therefore benefit greatly from the step to RAD Studio 13). If you are sure it's just the debugger then maybe you need to try moving to 12.3. I must admit I am still skeptical about this. Without much evidence to go on and certainly without wishing to cause offense I still suspect there is a problem in your code that shows itself in a different way under the debugger to the "release build".
  2. Roger Cigol

    Unable to print

    I am assuming this is a VCL app - is it 32 bit or 64 bit ? if 32 bit which compiler ? Which version of RAD Studio / C++ Builder are you using ?
  3. Roger Cigol

    Unable to print

    In my experience such "hard to explain" behaviour is usually the result of poor coding elsewhere that is corrupting something else (in your specific case most likely changing something associated with Printer()). Running under the debugger can change memory layout and hence change which bits the poor coding elsewhere is corrupting. The result is very hard to debug! But never impossible. Single step through and keep an eye on the values of all values used by your code watching for something that changes unexpectedly is one approach. Another is to isolate code and confirm that it operates correctly (or otherwise) in isolation. If you are going to adopt this approach then why not add each isolation test that you do as a unit test? Unit testing is a great way of significantly reducing these "very tricky to debug" bugs.
  4. WP tools: https://www.wpcubed.com/pdf/products/ I agree with @Angus Robertson - it's not clear why you posted your question under ICS. You might get an answer on this (DelphiPraxis) forum but maybe you would be better posting it on the WP forum: https://www.wpcubed.com/forum/board/
  5. Where are you geographically speaking on the planet?
  6. Roger Cigol

    Rad Studio 13?

    There is now a "whats coming in RAD Studio 13" webinar (10th Sept). Sign up here: https://register.gotowebinar.com/register/8824728052527544667?source=rad-update-blog
  7. Added support for Linux by rewriting ±769,000 lines of Windows-specific code Built a unit testing framework from scratch (500+ tests) A code base with towards 700 000 lines of windows specific code presumably has much more that is not "windows specific". To then claim that 500 unit tests is useful strikes me as a sentence aimed at people who have never worked with unit testing. Even my simplest projects have unit tests measured in thousands.....
  8. Does this statement apply to Clang32 compiler ? I believe your statement to (in general) be the case for clang64 but am less sure it applies to clang32.
  9. Are you using TwineCompile ? - for the 32 bit clang compiler this additional plug in (available FOC on getit) is virtually essential.
  10. I agree entirely with @Michaell However there actually are often good reasons to switch, common ones are any of: a) you want to write 64bit applications b) you want to use any of the modern C++ features (for example the use of "auto" is often really useful (aka essential) for templates) c) you want to use any modern C++ library (most up to date versions of libraries fail to compile on "Classic") d) you employ a young C++ programmer who finds it frustrating to work with "Classic", having got used to working with modern C++ constructs available. For any project with a long term future there is likely to come a time where you will want to change to Clang. The compilation time is a real pain! But you learn to structure your code such that a full build of all files is not required so often. (There is also the "module" approach coming to C++ bit by bit which is claimed to speed up compilation, but that is very definitely another topic!). I have moved most of my main projects across to Clang. I have one more commercial project to migrate and am just waiting for the right moment (which is related more to commercial and administrative considerations rather than technical ones).
  11. Roger Cigol

    Clang (bcc32c) is not creating object files

    Good morning @Michaell I will be honest: All of my projects used by customers are either Win 32 VCL using the Classic compiler (ie the old established projects) or Win 64 VCL using the "modern" clang compiler. So actually I have little "working" experience with the Clang 32 bit compiler. When I have upgraded a project from Classic I have gone first to the clang 32 compiler and then on to the Clang 64 "modern" compiler. I don't recall any migration being a real headache - although it's never a simple rebuild without doing anything ! I have today used RAD Studio 12.3 Enterprise to create a brand new C++ VCL 32 bit project. This uses a single form. It uses TEdit, TButton etc and also some of my own VCL components (which are written in C++ and are installed into the ide at design time). I use static linking for all packages, for the delphi run time and the delphi run time library (I do this for all projects I ship - I do recall in the past finding issues with my own components when I try to link at run time). I now have a working project. I can change between "Classic" and "Clang32" simply by selecting which compiler in the project options C++ compiler check box. The only other thing I have to do is manually change the library path to point to the directory with my *.lib file that contains the code for my own components (I have two builds of this - one done using the Classic and one done using the Clang32 <both have the same extension *.lib so I put them in different directories> - if I don't do this the project compiles ok but the linker reports loads of warnings saying that the library is built with the wrong compiler. I don't have any settings in the "additional options to pass to the compiler". I do have to do a full rebuild each time I swap the compiler type (completely reasonable!). All my source code, including the project file is in D:\Projects\Cigol quick test scratch\c code x For both cases the object code is output in D:\Projects\Cigol quick test scratch\c code x\Win32\Debug For both cases the object code files have a *.obj extension I think this only applies to the Clang 64 bit compilers
  12. Roger Cigol

    Clang (bcc32c) is not creating object files

    It should compile with no additional options specified by the user - what do you see in this box ?
  13. Roger Cigol

    Clang (bcc32c) is not creating object files

    In all my projects I have NO entries in the "Additional compiler options" So if you have something there and you don't know what it is I would suggest try deleting it.
  14. Roger Cigol

    Clang (bcc32c) is not creating object files

    OK - I don't know if I qualify for your definition of "experienced user". But I am trying to help. By solving these sorts or problems we all become more experienced. But there is always more to learn (which is what makes life worth living). Please do check that you have no unexpected entries in "Additional options to pass to the compiler". Another thing to check is that you the object files are being created where you want them to be. Check project options: C++ Shared options | Intermediate output.
  15. Roger Cigol

    Clang (bcc32c) is not creating object files

    I do recall (vaguely) once having to remove a load of options that were being passed to the clang compiler, without ever understanding where these options had come from. You need to check that there are no additional options being passed. Project options section: C++ Compiler | Advanced | Other options | Additional options to pass to the compiler
  16. Roger Cigol

    Clang (bcc32c) is not creating object files

    This is strange: I have not seen this issue before when migrating from Classic to Clang32. What version of C++ Builder / RAD Studio are you using?
  17. Roger Cigol

    CPP builder 12.1 CE: Debug problem

    Which compiler are you using? (Classic, Clang32 or Clang64) ? Try changing compiler and see if you get a different behaviour (I know this may not be a fix but it may be useful to know).
  18. But don;t worry (unless you also have delphi projects), C++ projects that use 3rd party components that happen to be written using Delphi will work just fine. C++ with the VCL or Firemonkey works fine too. Which ompiler to use depends on your aims for the upgrade. Does the original project use the 32 bit "classic" compiler? if so then for the first stage of the upgrade I would suggest continuing to do so. In my experience you will have very little problems (usual no problems) with this change
  19. It was so long ago when I first used it. But I am sure it's easy to do. The script system is straightforward and there's lots of help out there. My install operations are not complicated though (just exe, dll, desk top short cuts etc).
  20. I also use InnoSetup - and I use C++ for many many projects (12.3 Athens)
  21. Roger Cigol

    .gitignore file for Embarcadero C++

    I can see a sample .gitignore file for Delphi at https://github.com/Embarcadero/RADStudio11Demos. But I can't find an equivalent for Embarcadero C++ projects. Does anyone know of one up there (or anywhere else) (and is it up to date to include ignoring the _astcache folder contents)?
  22. Roger Cigol

    What .PAS file does a form use?

    Can you run your project under the debugger, then put a breakpoint on the button press and then single step into the code that shows the form. That will bring the form .pas (and .dfm) into the IDE
  23. It's called the April patch - but it's out now ! https://blogs.embarcadero.com/rad-studio-12-3-april-patch-available/
  24. Roger Cigol

    Project Release Icon not Showing

    Me too: Got here because of the same issue - and also was really annoyed by this too ! Many thanks to @peardox
  25. Roger Cigol

    components ?!

    The delphi components are all available from the component pallet. This is reasonably well organised into groups which give a good indication of the type of functions provided by each set. Best way to learn is to create an empty form and put the component on it. This brings up all the properties (again most are self explanatory (at least for the commonly used components)). If you go to the corresponding source code and click so the cursor is in the component name and then use F1 this will bring up "help" documentation. For more (better?) help - you can search for the component in the DocWiki https://docwiki.embarcadero.com/RADStudio/Athens/en/Main_Page By the way - you did post your "Delphi" related question in the C++ section of the forum - perhaps not the best place to reach other delphi developers (although all the VCL components can be used with C++ too).
×