Jump to content

Cristian Peța

Members
  • Content Count

    321
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Cristian Peța

  1. This issue is visible starting with D10.0 Seattle. Delphi XE-XE5 does not behave like this. But only when you see bottom white space.
  2. D10.4 with i7-8700K For me anywhere in the source IDE CPU is 10% and very responsive. At the bottom when white space appears is 25% and a little slower but not an big issue. I rarely use scrolling when bottom white space is shown. I think this issues is tied to CPU speed + Number of LOC displayed when bottom white space is shown. No graphic card involved. Try to make the IDE height smaller in order to display fewer lines of code and for sure it will be faster and.... useless. Does it behaves better on host? I think does not.
  3. I have almost the same configuration and bellow settings for display but I don't see any issues with scrolling. In VM is Windows 1903, on host 2004. I don't do any adjustments to the IDE after instalation. I will try to install Windows 2004 also in one VM and see. Update: I can install now Windows 2004 only on older VM's, on newer VM's with D10.3.3 and 10.4 I have this message "The Windows 10 May 2020 Update is on its way. Once it’s ready for your device, you’ll see the update available on this page."
  4. Cristian Peța

    TIDHTTP -v- THTTPCLient

    THTTPClient doesn't work on Windows 7 and XP with SSL. On XP the message is "Server Certificate Invalid or not present" I don't find the message from Windows 7 but here is something about: https://stackoverflow.com/questions/50765476/delphi-tnethttprequest-tnethttpclient-works-on-win-10-but-not-win-7
  5. Cristian Peța

    FastMM - Fragmentation Analysis?

    Then it looks like it's deallocated at close. Maybe if you can debug and look in task manager. Put a break point in System._Halt0 and maybe you will see where is deallocated. Maybe deallocation is in finalization sections or some dll's. Maybe this MemoryUsed function can be called from watch list and compared with Task manager.
  6. Cristian Peța

    FastMM - Fragmentation Analysis?

    But reports something or doesn't report anything?
  7. Cristian Peța

    Assign a pointer to a dynamic array

    From what I see it's fixed like this: var p : PWord;
  8. Cristian Peța

    Validate value entered in a DBGrid

    I can't reproduce this issue (the wrong value to be displayed across all records). What Delphi version do you use? Try to do a minimal example to reproduce this and post here. But why ?!? Your code is more convoluted and I don't see any benefit. Only trouble.
  9. Cristian Peța

    Export to PDF speed

    This procedure takes 76% of time in my case 2694 procedure TfrxPDFExport.ExportViaVector(const Memo: TfrxCustomMemoView); and was called because GapY was -1 if (Memo.ReducedAngle <> 0) or (Min(Memo.GapX, Memo.GapY) < 0) then ExportViaVector(Memo) With Gap=0 for some of memo components ExportViaVector() takes 44% of time and the report looks the same but the PDF is generated in 6 seconds vs. 13 seconds Edit: Better take a profiler and don't lose the time guessing.
  10. Cristian Peța

    Export to PDF speed

    Just tried 200 pages of something like this. 13 seconds.
  11. Cristian Peța

    Export to PDF speed

    The best would be to profile frxExportPDF unit
  12. Cristian Peța

    Export to PDF speed

    Only for testing. Why not? It's not Windows 10?
  13. Cristian Peța

    Export to PDF speed

    Have you tried with Microsoft driver? frxReport9.PrintOptions.PrnOutFileName := 'name.pdf'; frxReport9.PrintOptions.Copies := 1; frxReport9.PrintOptions.ShowDialog := False; frxReport9.PrintOptions.Printer := 'Microsoft Print to PDF'; frxReport9.SelectPrinter; frxReport9.Print;
  14. Cristian Peța

    Export to PDF speed

    At Export() that 5000 records doesn't count because the report is prepared. How many pages are? How many items per page? There are also vector images like charts or EMF, WMF? I tested for example 40 pages (200 records with one image and 30 text items per record) with booth FR Export and printing to "Microsoft print to PDF". The speed is about 3 seconds for both on a i7-8700K CPU. This is only Export because I do this at preview where the report is already prepared. P.S. You are too scarce with details and want a suggestion.....
  15. Cristian Peța

    Export to PDF speed

    Building PDF is PrepareReport() or Export() ?
  16. Cristian Peța

    Validate value entered in a DBGrid

    From the call stack it looks like Validate is called a little to late to modify the value. Documentation says also "To reject the current value of the field from the OnValidate event handler, raise an exception." I would use Abort like this: procedure TfrmClose.tbCloseAmtValidate(Sender: TField); begin if Sender = nil then exit if (Sender.DataSet.FieldByName('Long Short').AsString = 'Long') then begin if (Sender.AsFloat < 0) then begin ShowMessage('Close value should be positive or zero'); Abort; end; end else if (Sender.DataSet.FieldByName('Long Short').AsString = 'Short') then begin if (Sender.AsFloat > 0) then begin ShowMessage('Close value should be negative or zero'); Abort; end; end; end;
  17. Cristian Peța

    Export to PDF speed

    Take a profiler and save you time guessing what is slow. I use Nexus Quality Suite and I like it but there are also some free alternatives. Actually first time I used it I found the bottleneck with the trial version of NQS. I like very much line profiler. If you try it for these 4 lines it is very probably the first line and not the last that is the bottleneck. Then you goo deeper. P.S. If the time is big enough you can see also in debugging if the first or last line is slower. If the last line is slow then not the dataset is bottleneck but maybe some very big picture.
  18. Cristian Peța

    Open Type Arrays?

    Depends. I added only 15K LOC last year to my project. A lot of time I spend thinking how to add features asked by customers to actual app logic. This doesn't have to do with old code but to old app logic and not to break old behavior. An to leave space for feature improvements because this is a 20 years old project.
  19. Cristian Peța

    Open Type Arrays?

    For this case will work with Variant. procedure DoSomething(const AParam: Variant); begin ShowMessage(AParam); end;
  20. Cristian Peța

    FastReport 5 vs 6: PDF export

    If you are using TMetaFile in your report you can try to set AllowVectorExport to False for that component (in report editor). This way PDF export will work like version 5 generation an image.
  21. Cristian Peța

    Your RAD Studio 10.4 Sydney issues

    Fixed (see report).
  22. Cristian Peța

    Your RAD Studio 10.4 Sydney issues

    Not usable for me yet. [TClientDataSet] Exception when a ftWideMemo is set to an empty string with LogChanges=True https://quality.embarcadero.com/browse/RSP-29431 P.S. Just updated the report with an other issue very probable related.
  23. Cristian Peța

    Detect Windows shutdown?

    Here is @David Heffernan's response: https://stackoverflow.com/questions/25536216/delphi-prevent-application-shutdown
  24. Cristian Peța

    Detect Windows shutdown?

    I must repeat: this is documented and is working "as designed" If you want an other behavior and don't want to do what documentation says the you need to find an other OS. Documentation says: "If your application must block or postpone system shutdown, use the ShutdownBlockReasonCreate function." Then when you are finished use ShutdownBlockReasonDestroy.
×