Jump to content

msd

Members
  • Content Count

    68
  • Joined

  • Last visited

Posts posted by msd


  1. Hello developers,

     

    I have one function which is working fine until Delphi 12 but now I get Integer Overflow Exception

     

    procedure CalculateErrorCorrection(dest: integer);
    var
      A: TInt;
      ALength, e, k, t1, t2, t3, LastE: Int64;
    begin
      if (errorLevel < 0) or (errorLevel > 8) then
        errorLevel := 0;
      A := TInt(ERROR_LEVEL[errorLevel]);
      Alength := 2 shl errorLevel;
      for k := 0 to Alength - 1 do
        codewords[dest + k] := 0;
      lastE := Alength - 1;
      for k := 0 to lenCodewords - 1 do
      begin
        t1 := codewords[k] + codewords[dest];
        for e := 0 to LastE do
        begin
          t2 := (t1 * A[lastE - e]) mod _MOD;
          t3 := _MOD - t2;
          if e = LastE then
            codewords[dest + e] := t3 mod _MOD
          else
            codewords[dest + e] := ((codewords[dest + e + 1]) + t3) mod _MOD;
        end;
      end;
      for k := 0 to Alength - 1 do
        codewords[dest + k] := (_MOD - codewords[dest + k]) mod _MOD;
    end;

    it fail at line: t2 := (t1 * A[lastE - e]) mod _MOD;

    every params were integer I change to Int64 but same error is there.

     

    Thanks for the any help in advance...


  2. Hello,

     

    I have a lot of problems with different FormatSetting and Delphi apps; most of them are using dot on numeric keyboards and at the dot at the end of datetime, and I have small problems with the thousand separator.

    Does Delphi support some kind of isolated Format Settings where I can set my custom Date, Time, DateTime, Decima, Thusand separator, and so. on?

    In this scenario, the user can set isolated settings for the app, no matter how Windows works, and the user can use, for example, the pain problem. (dot) on a numeric keyboard.

    Now that I have dbEdit connected to FloatField and the user input is 123.45, it converts to 12345.00. Another problem is 123,345.67. I get invalid floatpoint values.

     

    Thanks for any advice and information in advance.


  3. 52 minutes ago, Kas Ob. said:

    Hi,

    Do it stupid simple, do you need it to be used or modified by users manually ?!!   most likely no..

    So, even for both cases (Yes/No) :

    Name these CheckBoxes with useful and clear names, then use the their names as Ini file Value while use for the Ini file Sections the Form/Frame name ...

    Don't forget to handle missed value with notification or errors or skip silently.... ,

    For saving (or loading)enumerate all the controls in the form/frame and utilize the tag property to indicate the need to be saved/stored in Ini file or not.

     

    Just an idea !

    Hello,

     

    It is just like when I develop my config form, the CheckBox Hint is used for ItemName (because of the multiple same names in the config form), and the parent component name represents the ItemScetion, so this is my scenario now. But it is not only check boxes; there are also edit components (text, number, color, date, time, folder name, etc.).

    This is the main reason why I need some modifications to the base class to make some maintainable code.🙂

    I have a lot of cases in my apps with this, but for some cases, like DataSet, I need to create my class or component because I need at least 10 properties to add to make my development process simpler.

     

    Thanks anyway; any comment is useful in some way.


  4. Hello,

     

    Thanks for the reply.

     

    Here is a closer explanation of one of my ideas.

    I have a config form with a lot of checkboxes, which holds data in an ini file.

    The ini file has sections and values.

    So, I have a standard checkbox with two additional properties: one is IniSection, and the other is IniProperty OK.

    I would like to solve this without new components, but I need to keep this scenario: when I call save or load config dara method and I search iniFile by those 2 new properties from the checkbox,.

     

    I think that now it is a little bit clearer what I want to do with my additional properties.

     

    Thanks again for all the ideas...


  5. Hello Developers,

     

    Is it possible to extend the standard VCL component with some features (properties) without creating a new component?

    For example, I need to add two string properties to the CheckBox component (for auto-saving in an inifile, I need two value properties and a group name), and I think about a new VCL. Does someone have a better idea?

     

    Thanks in advance...


  6. First of all, thanks to all the experts.


    I have a few cases in which FireDAC has a solution (for example, Firebird Backup) that is not supported by UniDAC.

    In one of my projects, UniDAC is working, but FireDAC does backup, restore, upgrade, and small maintenance jobs on the Firebird Database.

     

    At the end of all, I plan to migrate all because I have full FireDAC with Delphi instead of paying for UniDAC as a separate product.

     

    When I read the MichaelIT post, I think that UniDAC is a better solution and has a better approach for the database part of the app in Delphi.


  7. I think about migrating all of our projects to one universal database VCL solution.

     

    As I can see on this forum, FireDAC, there are some changes, one of which is not backward compatibility, and another small but painful change.

    I'm using UniDAC, and it is OK, but it looks like FireDAC has a lot of improvements from version to version.

     

    So, if someone has experience with this topic, please share your ideas, experiences, and real stories.

    P.S. One more question: where is the official FireDAC support forum or website?


  8. Hello to all,

     

    As Tommi says, everything is working fine with Delphi 11.3 and the latest VCL release of all the components that I'm using.

    FastMM 5 was not a problem, and I am sorry for my misunderstanding of this great tool.

     

    Again, Tommi's idea is great. Wait for the new release to show its full power.


    Thanks to all of you again...

     

    • Like 1

  9. 40 minutes ago, Tommi Prami said:

    D12 has some very bad bugs/regressions.

     

    If you have latest D11 release available, I would go to that, with and without FastMM5 to get to the root of this.

    And just like that, back to latest D11.3 + Updates 🙂

    I'll post here my test and deploy results.


  10. 12 hours ago, DelphiUdIT said:

    Two weeks ago FastMM5 was updated:

    But Delphi 12 is a new release so be sure that all third parts components are updated and also that in the QP there are not such issue already posted.

    There is v5.05 on official GitHUB Channel (release date is 25.06.2023 do you have some fresh info 🙂


  11. Hello,,

     

    I have one strange problem with FastMM 5 and software performance.

    I'm using Delphi 12 Pro + FastMM 5 (build a 32- or 64-bit app).

    Before FastMM, I had problems with memory release. Now,  when I add FastMM 5, memory management is much better.😞 BUT!!!

    When FastMM 5 is part of my projects, I have users (30% of them) who report me UI blocks, and they need to wait a few seconds for the UI release to be available for entering data into VCL components.

    Few users report app crashes, and restarting is mandatory.

     

    I don't change or set anything in FastMM 5; everything is just as it is in the factory state from GitHUB.

    I need some advice for this problem and for FastMM 5 in general.

     

    Thank you for all your help and useful tips in advance...


  12. Hello,

     

    FirebirdSQL has a replacement in Delphi for the null value, and it is called NaN (non-numeric value).

    I can't prevent this situation, ID DB, so I need to check if my variable (Real type) and my DataSet field (TFloat type) are numeric or not (nil, null, nan, etc.).

     

    Thanks in advance...


  13. Hello,

     

    I have Proxmox on Intel I7 13 Gen with 32 GB of RAM and NVMe's latest generation, and I plan to build 3 VMs from FirebirdSQL v4 servers.

    I have 20 db's per VM and 10–25 users per db, and I need some information on which FirebirdSQL architecture to use (Classic, Super Classic, Super) and some additional information or tips from experts about VM's about databases (and for servers, if there is any useful info).

     

    Thanks for all the tips in advance.


  14. Hello,

     

    What can be problem here, in 32bit everything works fine, but in 64 bit I have an error

     

    unit Threads;
    
    interface
    
    uses System.Win.Crtl, Winapi.Windows, LzmaTypes, System.Classes;
    
    type
      TCEvent = THandle;
    
      TCSemaphore = THandle;
    
      TCCriticalSection = TRTLCriticalSection;
    
      TCAutoResetEvent = TCEvent;
    
      TCThread = THandle;
    
      TThread_Func_Type = Pointer;
    
    function{$IFDEF UNDERSCOREIMPORTNAME}__beginthreadex{$ELSE}_beginthreadex{$ENDIF}(__security_attr: Pointer; __stksize: Cardinal;
      __start: TThread_Func_Type; __arg: Pointer; __create_flags: Cardinal; var
      __thread_id: Cardinal): Cardinal; cdecl; external msvcrt name '_beginthreadex';
    
    implementation
    
    {$IFDEF Win32}
    {$L Win32\Threads.obj}
    {$ELSE}
    {$L Win64\Threads.o}
    {$ENDIF}
    
    end.

     

    Error is:

     

    [dcc64 Error] Threads.pas(23): E2003 Undeclared identifier: 'msvcrt'

     

    Thanks for the help and assistance in the advance...


  15. Hello,

     

    Does anyone use LZMA from System.Zip in Delphi 11 and 12?

    I try it, but I get an error that this type of compression is not supported.

     

        Zip := TZipFile.Create;
        try
          Zip.Open(db.zipFile, zmWrite);
          Zip.Add(db.fbkFile, ExtractFileName(db.fbkFile), TZipCompression.zcLZMA );
          Zip.Close;
        except
        end;
    	Zip.Free;

     

    Thanks in the advance...

     


  16. I was given some deep debugging procedures.

     

    The problem is in TList. Count when I want to build a project in 64-bit version.

     

    So count is the core of the problem. When I set a fixed integer number, everything is working fine.

     

    P.S. In the 32-bit version, everything is working correctly with the count method.

     

    P.P.S. 

    this is not working on delphi 64 -> LastCol := Cols[Cols.Count - 1].ColNumber + 1;

    this is working fine on delphi 64 -> LastCol := Cols[Integer(Cols.Count) - 1].ColNumber + 1;

×