Jump to content

Tom F

Members
  • Content Count

    211
  • Joined

  • Last visited

  • Days Won

    5

Posts posted by Tom F


  1. 1 minute ago, Vandrovnik said:

    I would uninstall all third party, all GetIt packages, remove IDE, delete manually what is left.

    Clean install, test. All GetIt packages one by one, test...

    That's a reasonable suggestion, Vandrovnik.  Except I can't uninstall any packages, because I can't run the IDE. Does uninstalling RAD Studio uninstall everything or are their folders and registry entries I have to clean.

    This is an intermittent bug, so I can't just "try again" and hope it works.  I need a development environment that is stable.

     


  2. I waited a long, long time to upgrade from 10.3 to 10.4.2, believing it would be stable by now. I was wrong.

    I spent most of yesterday doing a totally clean ISO install of 10.4 (including the updates from GetIt) and then installing all my third-party packages and tools.

    It worked, mostly. And I liked the new features. But, the IDE crashed a few times.
    I've used Delphi for more than 20 years and never had the IDE crash... until now.

    And now, when I start the IDE, it never gets past the splash screen before dying a silent death and disappearing. 

    Report.wer file shows an exception.

    Even after rebooting my machine, the IDE won't start. :classic_sad:

    Like many Delphi users, I'm thoroughly disgusted with Embarcadero's failures.

    I might be able to tolerate a few crashes a day. But, not being able to start the IDE means I'll have to roll back to 10.3.

    And I will cancel my subscription to updates.

    Any suggestions on how to narrow down the problem? I'm not a systems engineer.  I'm not familiar with how the IDE loads, where I might disable certain add-ins.

    Are there any suggestions on how to get the IDE running again???


  3. 1 minute ago, Remy Lebeau said:

    In my case, I used to have one IDE installed on the host itself, and then a bunch of other IDEs installed in VMs, so I kept my source files on the host and used shared folders for the VMs to access the files.  Worked fine.

    Thanks, Remy (and to the other answers). Your approach is the one that appeals to me most. I'm glad it's working for you. I'll give it a try.


  4. I'm about to update to 10.4, having waited while EMB QA once again failed and we had to wait for them to remove bugs that should never have shipped. (Yes, I'm bitter about that, but that's a discussion to have another day.)

     

    Rather than continuing to suffer from EBM releases that are defective, I'm going to for the first time develop on VMWare VM. This will of course allow me to easily roll back to a previous release.

     

    One reason I haven't done this in the past is that I have never been clear about how much I should install in the VM itself, and how much should remain on my host machine.

     

    If I put my source code (which is regularly backed up from the host to a repository) in the VM, then it seems that so many of my other tools also have to be in the VM, like my grep tools, and other utilities (like Beyond Compare, CI tools), etc.  

     

    I don't know the best place to draw the line on what goes where. Perhaps I should leave my source on the host drive, accessing it from the VM?  This is less than ideal, because my archives would have two pieces (the VM, and the source on C:). And it also means that I'll have to remove all of the hardwired C:\ paths in my scripts and other tools.

     

    To people using VMs for product development: how much do you install in your VM? Does your VM access your host drive for anything? Any suggestions?


     


  5. In VCL, how to make a fsStayOnTop form the active form?

    I have a main form and a non-modal subform.

    When the Main form is active, if the user enters a specific key associated with a shortcut on the non-modal form, my main form calls a method in the non-modal form.  

    But, how can I make the non-modal form the active form when it receives this call?

    I've tried to assign Screen.ActiveForm and SuForm.Active, but both are read-only.


  6. In an app, some of our VCL Forms have FormStyle := fsStayOnTop assigned in the Object Inspector.

     

    Occasionally we temporarily change it to fsNormal when we're popping up a system font or color dialog box.

    Sometimes, (but so far unpredictably) including sometimes when Alt-tabbing back to our app, our on-top window is not visible.

     

    Sometimes the user can make it visible again with some combination of Alt-Tabs, and minimizing then un-minimizing the app on the Taskbar.

    As I understand it, this isn't unusual, and that under Windows, Microsoft doesn't guarantee that fsStayOnTop is reliable, given various contention issues, etc.

    I'm looking for a way to reduce the frequency of this problem in our app.

    What is the current "best practice" is in this area?

    There are a smattering of posts on the web on this topic, some go back decades.

     

    One of the posts suggests overriding CreatParams as shown below.  Rather than being a total script-kiddie, is the code below a reasonable approach, or is it just the equivalent of setting FormStyle := fsStayOnTop?

     

    procedure TForm1.CreateParams(var Params: TCreateParams);
    begin
      inherited CreateParams(Params);
        with Params do
          begin
            Params.ExStyle := ExStyle or WS_EX_TOPMOST;
          end;
    end;

     


  7. tl;dr: How can I configure a column in the TDbGrid (or TRzDbGrid if it's easier) so that when the user clicks in a cell, I get control to set the cell's background color? 

    Details:

    I am using a TDbGrid that has a column for the user to select a color that is then used elsewhere in the application.

     

    There is no text in the cells in the column, just a color.

     

    In DrawColumnCell, for that column, I set Canvas.Brush.Color so that the cell displays a previously selected color.

     

    This column has ButtonStyle := cbsEllipsis;

     

    When the user clicks the ellipsis, I popup a TColorDialog for the user to choose a color. 

     

    The above is all working fine, except when the user clicks in the cell (before clicking the ellipsis) the Brush color goes back to white. (See attached image.) I don't want to auto-open the color picker.

     

    I believe setting the editor color involves cracking the InplaceEditor but I haven't been able to find enough info online to figure out how to do that.

     

    cell.jpg


  8. I create a non-modal form like this:
     

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      FNonModalForm := TForm2.Create(Self);
      FNonModalForm.Show;
    end;


    What's a good way to have a non-modal Form2 signal its owner Form1 that the non-modal form has been closed by the user so the owner can free Form2?

    AFAIK, it can't be done in a callback from Form2.FormClose because that's too early for the owner Form1 to free Form2.

     

    Send a Windows message to the owner form?


  9. This thread is quite old.  But, given some outstanding problems with 10.4, I reverted to 10.3 and encountered the problem described above where Parnassus wouldn't load.

    If anyone else is having this problem and comes across this thread, EMB suggested to me that I start with a clean IDE in 10.3.  For fun, I followed their directions (below), but, because I wasn't willing to configure the IDE and all the packages etc., I only performed the special launch once.

    It turns out that performing their suggested registry step once and then reverting back to the standard shortcut to start the IDE somehow resolved this issue. Bookmarks loads fine now! YMMV.  I don't know what magic happened behind the scenes that made this work.  Or, perhaps there was something else going on here that this fixed.

    Anyway, in case it's helpful for you, here's what they recommended and what curiously worked for me:

     

    One option you can try is to reset the IDE settings to the default, which will also clear any 3rd party tools from being referenced.  Then you can retest the Bookmarks installation in either Rio or Sydney if you choose.  Any 3rd party or custom component or plugins will need to be reinstalled.  Any configuration settings will need to be reconfigured, etc.

    Rio 10.3:
    -----------------------
    Open the shortcut for Rio 10.3, and pass a -rTest1230 parameter into the target field, like so:

    "C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\bds.exe" "-pDelphi" -rTest1230

    What this will do is create a new node in the registry for the IDE settings called 'Test1230':

    HKEY_CURRENT_USER | Software | Embarcadero | Test1230 | 20.0

    If for some reason you need to go back to the original settings, you can remove the -rTest1230 and it will use the original settings:

    HKEY_CURRENT_USER | Software | Embarcadero | BDS | 20.0
    -----------------------
     


  10. 22 minutes ago, Remy Lebeau said:

    Since the bug has workarounds, has Mitov updated his code to apply the workarounds until the bug is fixed?

    Mitov has said that he is waiting for EMB to fix their bug because the work-around would be prohibitively expensive to implement.


  11. 9 minutes ago, JSPUS said:

    If I got this right, there is a bug in Sydney that prevents Mitov's codes from working properly and I assume Mitov is aware of it. If that's the case, then it is fair to say Sydney is not supported in Mitov's codes.

     

    Mitov is a EMB MVP.

     

    This issue may raise further questions if Mitov has also brought the bug to EMB attention and as been unable to get a resolution.

    @JSPUS Your statements above are all correct.  If you click the link in my OP, the "Reporter" of the bug is listed as Mitov.  He has also posted in the Comments section of the report.  

    The report contains a 30-line self-contained code sample that reproduces the problem.


  12. 28 minutes ago, Der schöne Günther said:

    Can you link us where that was proposed?

    Thanks for you thinking on this issue.
     

    I am an end user of the libraries. Not having source code, I don’t know anything more about the problem or proposed fixes than what I’ve shared in my post. 

     

    Tom


  13. I hate complaining in public about our beloved Delphi because by doing so I add to the negative reputation that it has.  

     

    So, first: here are some positives: I'm a big fan (and decades-long user) of Delphi.  I used Delphi at a Fortune 1000 company where we created several very successful, industry-changing, million-line international applications with it.   I use Delphi now in a smaller company to create award-winning products for macOS and Windows.  Delphi (and Turbo and UCSD Pascal before that) has been a major contributor to my successful career.  


    But, here's the negative: I'm tired of wasting money on annual maintenance plans. But I need them to fix older bugs or for fixes or access to new platforms. It seems I always have to wait until the first few bug-fixing patches from EMB. If I don't wait until one or two patches have been released, it seems that I and the rest of us becoming unwitting beta testers for EMB. 

     

    But, now, it's worse: I am totally unable to use Sydney to develop our products. 

     

    This problem is a memory leak. It was reported last summer: https://quality.embarcadero.com/browse/RSP-30215. And it hasn't been fixed by EMB.  

     

    This bug prevents us from being able to compile our product in Sydney because we depend on the (wonderful) Mitov libraries which the bug affects.

     

    So, the subscription we paid for almost one year ago has been useless to me.

     

    The above URL contains a simple sample code to reproduce the problem.  EMB has acknowledged the problem.

     

    I'm told that a workaround was proposed by EMB but that the workaround would take an enormous amount of time to implemented by us.

     

    I recently expressed the above concerns to Marco and Jim.  But, I have not heard back anything positive. I'm worried that they may have once again postponed fixing this bug. So I thought I'd post about it here.

    If you're using the Mitov libraries, you're in the same boat as I am. I hope you (and anyone else reading this) will vote for this issue at the above URL so that perhaps it will be fixed in the near future.

    Meanwhile, I'm stuck paying for updates that don't work.  

     

    From my perspective, EMB's programming team appears to be seriously under-resourced.  

     

    I am very worried that Atana Popov and the group that manages Delphi has abandoned the product and are just squeezing as much revenue for as little investment as they can. It certainly looks that way from here. 😞

     

    • Like 1

  14. @David Heffernan I am surprised to see you using a pointer.  I've always felt that one of Delphi's strengths was the diminished need to use pointers, since pointers introduce the risk of weird, unpredictable errors.

    I'm not criticizing, but rather asking why you choose to use pointers here. Is it because you wanted to make it as fast as possible, or do you feel pointers are clearer and sufficiently safe or ?

     


  15. I had 10.3.3 running with the GetIt Bookmarks for more than a year.

    I installed 10.4 and it broke 10.3.3 bookmarks.

    So I uninstalled Bookmarks from 10.4 and 10.3.3 and then reinstalled Bookmarks on 10.3.3 using Getit.

    When starting 10.3.3 I get this message:

     

    Quote

    Exception EModuleLoadException in module ParnassusBookmarks.dll at 00042EE7.

    Could not load ParnassusCoreEditor library for platform XRio.
    Search path: C:\Program Files (x86)\Common Files\ParnassusShared\.

     

    Any suggestions on how to get 10.3.3 Bookmarks to work. I've given up on 10.4 until EMB fixes some bugs and until FixPack exists from whomever. 😞  It seems likely that I wasted my money purchasing the 10.4 update earlier this year.

×