Jump to content

Edwin Yip

Members
  • Content Count

    435
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by Edwin Yip


  1. 26 minutes ago, timfrost said:

    But anything based on PDFIUM has the limitation of single threading only. Which may not matter if you have a user interactively tweaking annotations and images, but it does to the applications I deal with.

    I don't know that limit. Do you mean you cannot manipulate the pdf with Pdfium in a background thread even using a legitimate locking mechanism? 


  2. Congrats for the new release. I've got several questions if you don't mind:

    • Is the pdf engine based on Pdfium?
    • Can you add pdf annotation such as text, rectangle, and so on to a pdf and save to disk, like you can do with image files with ImageEn?
    • Does it support navigating a pdf file with the hierarchical bookmarks like this: https://www.winsoft.sk/pdfium.png

    Thanks.


  3. There is also Lasse's TPDFiumControl which is based on Andy's PdfiumLib which is in turn based on Google Pdfium (used in Chrome).

     

    Basically, PdfiumLib is a Delphi wrapper for Pdfium, but the rendering of pdf is one page at a time, and TPDFiumControl adds a vertical scrollbar.

     

    There is also Paul's PdfiumReader (similar to TPdfiumControl that adds vertical scrolling, but uses a custom build of Pdfium dlls), but unfortunately, it's GPL licensed and no other commercial options are available.

     

    I found that Pauls' PdfiumReader is much faster when scrolling than TPdfiumControl.

     

    That being said, if TPdfiumControl is as fast as PdfiumReader  (when scrolling), it'll be perfect.

     


  4. 2 hours ago, angusj said:

     

    Done.

    Also, there was a problem with the last update where I failed to upload a recent change in Img32.pas which caused problems in Img32.Layers. That's now fixed too.

    I've also made a minor update to the Layers301 sample application.

    https://sourceforge.net/projects/image32/files/

     

    layers301.png.8108f60d22a21b6cdd9efe160c3380c7.png

     

    Thanks Angus, I'll check it out!

    What a vivid colorful looking of the picture! It reminds me the early days of the web 2.0 era where all websites have such vivid colorful looking.


  5. Thanks for your continued effort in making Image32 better and better!

    So I want to use your svg viewer, and would like to make the following changes, and I'm wondering if you accept pull requests (or does sf.net even have a "pull request" feature?)?

     

    • Change `TBaseImgPanel.fScrollbarHorz  : TPanelScrollbar` from private to public, so that I can implement my own key-bindings for panning the image view.
    • Add `OnMouseWheel` event.
    • Make `TBaseImgPanel.ScaleAtPoint` public so that can I implement customized zooming.

    Basically, I want to change the way how the image's zoomed out/in and panning.

    Thanks!

     

    15 hours ago, angusj said:

    Just updated to version 3.2

    https://sourceforge.net/projects/image32/

     

     


  6. On 8/16/2021 at 8:37 PM, luebbe said:

    Additional Info: SVGIconImageList has a wrapper for Image32, so Image32 can be used as one of four rendering engines for SVG icons. Since it proved to be the best of the four, @Carlo Barazzetta has made it the default.

    See: https://github.com/EtheaDev/SVGIconImageList

    Just tried the Image32's SVG viewer, the rendering result is almost perfect in my eyes! You've done a great job Angus!

    • Like 1
    • Thanks 1

  7. Well done Conrad! Several thoughts (feel free to ignore if any of them doesn't make sense):

    • Like others say, the console IDE extension should get more power by directly embedding cmd.exe or the PowerShell window.
    • Maybe it's more convenient to immediately create a console window for the current project, after clicking the Tools menu item.

    Hope it helps.


  8. 13 minutes ago, David Heffernan said:

    Nah, I don't really believe anything that you are saying here. 

    Oh, this is the third time I heard you simply saying "I don't believe you". The first time I heard about that from you is on a stackoverflow question I asked about my Delphi IDE strangely reset my frame sizes after each project reload (or IDE reload), and you said the same thing which I didn't bother to explain more ;)


  9. 11 hours ago, timfrost said:

    In a MadExcept bugreport there is nothing to stop you adding customer identification or licence details in the headings. No need for the customer to manually fill in anything.  There are examples in the MadExcept documentation on how to do this in your application which generates the report.

    Actually I know that custom data can be inserted into madExcept report, but I don't have the user's license included because:

    • For bug reporting you usually don't need that until this strange bug report is submitted... 
    • The trial users don't have license info.
    • The inclusion of that info might lead to the need of considerations for compliance with laws like GDPR or something like that.

  10. 9 hours ago, Kas Ob. said:

    my thoughts here is some sandbox changed all of these binary names ... but most likely it is dynamically loaded means there is no import section in the EXE, hence the sandbox might be buggy and didn't change the dll and correct the runtime loading....

    Hi Kas,

    Thank you very much for your insightful thoughts, and I think you nailed it! The SQLite DLL is dynamically loaded in my case...


  11. The program in question uses madExcept to intercept and report exceptions.

     

    From time to time I got error reports about SQLite DLLs (I use mORMot and I use DLL for a reason) couldn't be loaded.

     

    All these error reports have the same characteristic - both the EXE name and the Windows account names are changed:

    computer name      : NIBFGAO55910842
    user name          : K1dtev0pKEBA0 <admin>

    executable         : wjabrmqkin.exe

     

    The EXE date is also strange because it doesn't match my program's version.

     

    So I suspect that my program's run in a virtual environment (should be VM-for-program but not VM-for-OS like VirtualBox) on the end-user's system.

     

    But I've no clue as to what is that, have you encountered similar issues? And how to avoid the DLL loading issue?

     

    Thanks.


  12. Very very very nice! And thanks for your great efforts in providing the Delphi community this powerful 2D library wrapper!

     

     Two questions:

    - What's the most convenient way to obtain the skia dll without building from source?
      Update:  Sorry, I didn't notice the external skia repository since I use TortoiseSVN to checkout github repos, but there is still not any DLL inside that repository...
     

    - What's the oldest Delphi compiler supported?

     

    Thanks!

×