Jump to content

Holger Flick

Members
  • Content Count

    28
  • Joined

  • Last visited

Posts posted by Holger Flick


  1. 15 minutes ago, Tommi Prami said:

    That is not even close accurate analogy.

     

    It is, because with software people always expect to get things cheaper and with discounts. Other things are just being paid for. 

     

    I'll get out of this thread. I also think the initial question has been answered.

     

    Aurelius is a commercial alternative that offers a free-version without source that will help to get a better impression of the product.

    • Like 1
    • Sad 1

  2. 1 hour ago, Tommi Prami said:

    How is so, I just suggested that I would not want to use FREE version and would like instead to PAY something. 

    So if you go into a restaurant you ask if you can pay less to pay for your meal? That makes no sense.

     


  3. I would rather have a lot of things, but that's simply not how you can put food on the table.

     

    4 hours ago, Tommi Prami said:

    I would rather pay little to get non commercial use license.

     

     


  4. On 4/3/2019 at 4:11 PM, Remy Lebeau said:

    What is there not to understand?  The TTabControl is transitioned to the desired Tab and a timer is started, then flow is returned to the main UI message loop.  When the timer fires after 500ms, the ProgressBar is incremented and flow is returned to the main UI message loop.  The timer fires again after another 500ms, and again, each time returning to the main UI message loop.  Eventually, the ProgressBar reaches its Max and the timer is stopped.

     

    You fixed the mistake. I was unclear if you were right, and then I was not able to understand how it should have worked. After the fix, I understand the code.


  5. 19 hours ago, Remy Lebeau said:

    This is definitely not the right way to write code.  Avoid ProcessMessages() whenever possible.  The example given can be replaced with a simple UI Timer instead, eg:

     

    
    ProgressBar1.Value : =0;
    ProgressBar1.Max := 100;
    Timer1.Enabled := True;
    
    ...
    
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      ProgressBar1.Value := ProgressBar1.Value + 1;
      if ProgressBar1.Value >= ProgressBar1.Max then
      begin
        Timer1.Enabled := True;
        Exit;
      end;
      //...
    end;

    But, if your real project is using the ProgressBar to tracking status of actual tasks, those tasks should be done in the background, and updates to the UI synced with the main UI thread accordingly.

     

    Remy,

     

    shouldn't it be Timer1.Enabled := False; in Timer1Timer?

     

    Otherwise, I do not understand how this code works. Example has been very helpful as I did it wrong as well so far!


  6. 23 hours ago, Mike Torrettinni said:

    I like the DLL option, but the client is not too happy about it as they don't want to have additional external files for deployment.

    (I apologize as I did not see the posts initially that suggest exactly the same approach!)

     

    Add the DLL as a resource into the exe and extract it into the user directory etc. when it does not exist on the system. So the customer still deploys only an exe file... You could even do that for many files that you zip and then put as a resource into your exe.  RCDATA makes this very easy and there are functions in the RTL (SysUtils if I am not mistaken). Furthermore, Delphi RTL now has ZIP included that will also allow for the zip approach.

     

    Is it crazy, yes, but it will make the customer happy and you can use a more recent version of Delphi.


  7. 6 minutes ago, chkaufmann said:

    So in the end I don't know where to search the error in a project with several hundred thousand lines of code. I use generic functions in different places, but having these removed is a "showstopper" for me.

    Then, you should not have referred to that bug report if you are not certain what causes the error. Sadly, without producing a test-case, you will never get a resolution. This is sadly the case for commercial and open-source products.

     

    It is painful, I agree, if a new version introduces unforeseen issues.

    Again, there is a formal definition of a showstopper in QA. The term does not refer to your (or anybody's) ability to use the product or not.

    • Like 1

  8. 5 hours ago, chkaufmann said:

    What is the best way to get this fixed now? It's unresolved since 4 months now and having such a "show stopper" all the new fancy features in the IDE are just useless when such basics like the compiler don't work.

     

    This does not qualify as a showstopper. You might feel like it, but it is not.

     

    Especially as the error seems to be only appearing in certain situations, and it seems to be avoidable if you compile without the IDE.

     

    In order to go ahead with your project, I would suggest to put the problematic class in a separate bpl and compile it using the command line. Then you can continue daily work inside of the IDE. 

    • Like 1

  9. On 3/20/2019 at 12:54 PM, Daniel said:

    Absolutely.

    But I tend to start with one single sub-forum for the TurboPower-components. When we come to a point that we have too many posts in there, we should go some steps further.

     

    For me these components are there for compatibility to be able to compile old projects without migrating to new components. They have a rather outdated feel to me. 

     

    (BTW: Do I have to post below or above quote?)


  10. I recently read on the internet that UPX is not recommended to be used with Delphi VCL applications. I never had any issues, but I am also open to better alternatives. 

     

    Is there a better, free alternative?

×