Jump to content

Edwin Yip

Members
  • Content Count

    430
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by Edwin Yip

  1. 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.
  2. Edwin Yip

    SynEdit preferred version?

    Dissatisfied #2: Scrolling is quite slow if the text file contains long lines (even the overall file size is small)...
  3. Edwin Yip

    DevExpress PDF Viewer

    Thanks. BTW, If you want to use the latest pdfium libs, you must remove all those SetMatrix/GetMatrix functions.
  4. Edwin Yip

    DevExpress PDF Viewer

    @Graham Murt, looks good! I wonder if you can share the code that draws the shadows somewhere.
  5. Edwin Yip

    SynEdit preferred version?

    I've just started using the official github edition and I'm very satisfied so far - well except the word wrapping... I should have used pyscripter's SynEdit-2 if I had a newer compiler ;)
  6. Edwin Yip

    DevExpress PDF Viewer

    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.
  7. 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.
  8. 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!
  9. Just tried the Image32's SVG viewer, the rendering result is almost perfect in my eyes! You've done a great job Angus!
  10. Edwin Yip

    Delphi 11: Text size too small!

    I think David was staying on topic?
  11. Edwin Yip

    Console Manager for the Delphi IDE

    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.
  12. Edwin Yip

    HTML Office Library: Font Browser Demo

    I have no use but the tech is cool!
  13. 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.
  14. 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 ;)
  15. FYI: Just tested with Sandboxie and it's not the culprit.
  16. 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.
  17. 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...
  18. Because the bug reports were submitted through HTTPS and the email address is optional to fill in by the end user and none of them provided the email address...
  19. Angus, I remember your name since the graphics32 newsgroup ages ;)
  20. Edwin Yip

    Skia4Delphi

    Just for comprehensiveness - there is another wrapper here: https://github.com/zhaoyipeng/SkiaDelphi, but it's old.
  21. Edwin Yip

    Skia4Delphi

    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!
  22. For my new project I need a template engine for generating web pages, while I have concluded which suited my needs the best and I'm quite confident about my conclusion, your opinions and comments might help me to make my final decision. Since mORMot is my go-to framework for server-side web development, the first candidate to consider is obviously DMustache, which is a fast Delphi/FPC implementation of the popular logic-less Mustache template engine. Actually I've used it in several of my projects and it's great. But sometimes I need more features, but as you know, logic-less means no "if", "while", and so on. And fortunately I found Sempare Template Engine, which is the only feature-rich template engine for Delphi ( Yes, I meant it, because we all know Delphi was/is mostly focused on GUI development but not web development...) Pros === - Very very feature-rich, "if", "for and while loop", "include", "JSON", "custom methods", and so on. Basically, the feature set it's very close to template engines you can find in web-focused languages such as Java. No other Delphi template engine is even comparable (sorry, I love DMustache, but I also need "if" and "while"...). - Very well designed! You can tell by just looking at the unit namespaces and the source! - Documented, and with examples. - Well-tested (with DUnitX tests) Cons: While It's also open source, but for commercial uses you need to buy a license key with a very reasonable price. There are other template engines too, but IMHO, only DMustache and Sempare Template are serious, so I won't list them here... Your comments are welcomed!
  23. @Fr0sT.Brutal, Thanks for the link! From the overview webpage the features seems to be quite powerful, but it doesn't seem to be compatible with my XE4 compiler: [dcc32/dcc64 Error] TemplateEngine.pas(2253): E2030 Duplicate case label Feature-set aside, it still has less documents and examples than Sempare Template. But thanks for the link!
  24. Implemented natively in Delphi, as Stephen suggested: https://github.com/ahausladen/JsonDataObjects Maybe world's fastest: Simdjson, however, there is no complete Delphi wrapper yet, but this one-function only wrapper can get you started quickly if you go this route: https://synopse.info/forum/viewtopic.php?id=5926
  25. Wow! So the collections in mORMot2 is/will be even more powerful! Great to hear that, and as always, we can rely on mORMt/2 ;)
×