Jump to content

Lajos Juhász

Members
  • Content Count

    881
  • Joined

  • Last visited

  • Days Won

    12

Posts posted by Lajos Juhász


  1. 9 minutes ago, Darian Miller said:

    They have a roadmap and have been updating it about once/year. 

    I'm sorry but that is a joke not a roadmap. A couple of years earlier they have had real roadmaps. With information like when will be the next release and what we can expect (sometimes even a couple of minor versions). Now just Now / Next with no information. I'm sorry but that is not enough to plan release cycles and upgrade path for a production environment where you've to plan time for the upgrades in the code base. It's not always enough to install the new IDE, recompile and ship to the customers.

    • Like 1
    • Thanks 1

  2. In the quality portal you get response while they validate your report and try to prove it's how the product works and not a bug. After that unfortunately there is no response at all (not even in which version and time frame when the fix will be shipped). Usually you will get no response about the issue at all. Do I think this is the right way? Of course not. As sometimes it's critical to us to know how to communicate with our clients as we have also to plan and communicate to clients when we can ship the fixed product.

     

    For some unknown reason who ever decides the future of the product cuts off the communications with the developers (there was a brief period when even on this forum you was able to get honest answers). Instead of a clear communication we can get only promotion materials how everything is nice and shiny (and that's true when you try hello world applications, but as soon as you try to do something more complication you will discover bugs).

     

    For me the latest bad sign is that they abandoned the idea that we should have a roadmap. Now you can only read the future of the products only from your coffee mug and that's not a fun thing to do when my managers asks me what is the next step.

    • Like 1
    • Sad 1

  3. 6 minutes ago, JDRenk said:

    I am aware that the data doesn't come in one read so I delayed the read to allow the buffer to fill and also am using a comport monitor to verify the correct # of bytes.  All looks correct.

    You should also check in ComPort1RxChar how many bytes the comport reads from the buffer.


  4. 48 minutes ago, JDRenk said:

    Thank you.  Now I'm having success in debugger mode, but when I run without debugger on I get  "'$' is not a valid integer value."  The result is correct, just the pop up issue.  It is coming from the StrToInt because if I change the $ to 0x I get the 0x in the message.

     

    In your code you never check for length of the buffer. When reading the com port it's not guaranteed that you receive all the data in one read. You've to check whenever you received everything and after that you can try to process it.

     

    Edit. In this case most probably the length of the result is less than 21 bytes and result1 will be an empty string. Try:

    if result1<>'' then

      A := StrToInt ('$' + Result1)

    else

    begin

        ShowMessage('Result1=''''');

    end;

     

     


  5. 4 hours ago, Der schöne Günther said:

    A rather desperate approach would be saving the entire memory table into a stream and then determining the stream size which is rather silly and does not necessarily reflect how much the data actually takes up in your memory.

    The memory required for the stream doesn't have to be the same as for internal representation for the data. The only way to firure out is to query the memory manager before and after the operation.


  6. 33 minutes ago, Der schöne Günther said:

    But this is just a wiki! How difficult could it possibly be?

    Maybe it's a cloud thing where they don't have direct access. I mean they should have a backup copy of the database and could set up a new server very quickly. Also it's possibly that they have used all the money allocated for hardware and will have to wait for the new business year to allocate money to rebuild the infrastructure.


  7. In this case Idera/Embarcadero has no problems. The website used for new customers is working fine. It's just the docwiki that is down that is used only by customers that already paid. Why would they worry? They can get away with no roadmap, no timeframe when the critical errors will be fixed in Delphi.

     

    We that already using Delphi should know to work without a proper documentation.

    • Like 3

  8. 35 minutes ago, JDRenk said:

    I am using Delphi 10.4 Community Edition.  I don't believe it has a Systems.AnsiStrings unit.  The COPY function seems to work.  My next issue is.........  Copy gives me an eight character string of a HEX value, (eg. 1289ABEF).  How do I convert that to its Integer value (eg. 311012335)?

    I am sure it has System.AnsiStrings unit.

     

    The easiest way is to use StrToInt('$1289ABEF').


  9. 14 minutes ago, Dany Marmur said:

    What is preventing FireDAC users from using a parameter for the like clause?

    SQL servers. Parametar cannot be used with like or matches.


  10. It doesn't working for me. For  https://docwiki.embarcadero.com/RADStudio/Alexandria/en/ returns:

     

    Sorry! This site is experiencing technical difficulties.

    Try waiting a few minutes and reloading.

    (Cannot access the database)

    Backtrace:

    #0 /var/www/html/shared/BaseWiki31/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1134): Wikimedia\Rdbms\Database->reportConnectionError('Connection refu...')
    #1 /var/www/html/shared/BaseWiki31/includes/libs/rdbms/loadbalancer/LoadBalancer.php(749): Wikimedia\Rdbms\LoadBalancer->reportConnectionError()
    #2 /var/www/html/shared/BaseWiki31/includes/GlobalFunctions.php(2801): Wikimedia\Rdbms\LoadBalancer->getConnection(0, Array, false)
    #3 /var/www/html/shared/BaseWiki31/includes/cache/localisation/LCStoreDB.php(45): wfGetDB(-1)
    #4 /var/www/html/shared/BaseWiki31/includes/cache/localisation/LocalisationCache.php(412): LCStoreDB->get('en', 'deps')
    #5 /var/www/html/shared/BaseWiki31/includes/cache/localisation/LocalisationCache.php(458): LocalisationCache->isExpired('en')
    #6 /var/www/html/shared/BaseWiki31/includes/cache/localisation/LocalisationCache.php(334): LocalisationCache->initLanguage('en')
    #7 /var/www/html/shared/BaseWiki31/includes/cache/localisation/LocalisationCache.php(371): LocalisationCache->loadItem('en', 'magicWords')
    #8 /var/www/html/shared/BaseWiki31/includes/cache/localisation/LocalisationCache.php(292): LocalisationCache->loadSubitem('en', 'magicWords', 'tree')
    #9 /var/www/html/shared/BaseWiki31/languages/Language.php(3177): LocalisationCache->getSubitem('en', 'magicWords', 'tree')
    #10 /var/www/html/shared/BaseWiki31/includes/MagicWord.php(352): Language->getMagic(Object(MagicWord))
    #11 /var/www/html/shared/BaseWiki31/includes/MagicWord.php(280): MagicWord->load('tree')
    #12 /var/www/html/shared/BaseWiki31/includes/parser/Parser.php(4848): MagicWord::get('tree')
    #13 /var/www/html/shared/BaseWiki31/extensions/TreeAndMenu/TreeAndMenu_body.php(24): Parser->setFunctionHook('tree', Array)
    #14 /var/www/html/shared/BaseWiki31/includes/Setup.php(948): TreeAndMenu->setup()
    #15 /var/www/html/shared/BaseWiki31/includes/WebStart.php(88): require_once('/var/www/html/s...')
    #16 /var/www/html/shared/BaseWiki31/index.php(39): require('/var/www/html/s...')
    #17 {main}

  11. Is the list correct in your example the first numbers are delimited with semicolon while the last is with comma. The easiest way to type this for me is:

     

    function ListContains(const PList: string; PNumber: integer): boolean;
    var
      sl: TStringList;
    begin
      sl:=TStringList.Create;
      try
        sl.Delimiter:=';';
        sl.DelimitedText:=StringReplace(PList, ',', ';', []);
        result:=sl.IndexOf(IntToStr(PNumber))<>-1;
    
      finally
        sl.Free;
      end;
    end;

     


  12. 16 minutes ago, Virgo said:

    There does not appear to be anything about progressbar in all this code... Unless  ProgressRunning and StopProgress variables have something to do with it.

    There is Form7.pb1.Position (a bad design to call directly from another unit as you cannot be sure that the procedure was called from that object) in the code however that's all we can see (besides the problems that the code full of Application.ProcessMessages also that should be avoided).


  13. 3 hours ago, Serge_G said:

    But I don't understand where I miss something because I have some memoryleaks

    ---------------------------

    It's very simple take a look at TImage.SetBitmap. The TImage object will assign the bitmap to the internal bitmap and will not take the ownership over of the parameter. You've to write:
     

    var 
      lbm: TBitmap;
    begin
      if OpenDialog1.Execute then
      begin
        Image1.Bitmap.LoadFromFile(OpenDialog1.FileName);
        lbm:=ConvertToGrayscale(image1.Bitmap);
        try
          Image2.Bitmap:=lbm;
        finally
          lbm.Free;
        end;
      end;  
    end;



     

    • Thanks 1
×