Jump to content

timfrost

Members
  • Content Count

    196
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by timfrost

  1. timfrost

    Delphi 5 - VirtualTreeView

    A quick google tells me that VTV 5 dropped support for Delphi 5 and 6, and that the last VTV 4 was 4.8.7, but I have no idea whether this is accurate I have downloads only back to VTV 6.3.
  2. timfrost

    ISO8901: Week numbers and year

    The functions in system.dateutils claim to be ISO8601 compliant. Are you saying that they return the wrong results? WeekOfTheYear has an overload which sets the year as well as returning the week
  3. If your goal is to achieve consistency between local and UTC times which are milliseconds apart, you should start with the UTC time, not the local time. Get the UTC time first. Then use a library such as https://github.com/pavkam/tzdb to derive the local time from it, for the location you require, using the IATA database. If the UTC time happened to be 01:59:59.998 on a changeover day scheduled at 2am, then this library will return the correct local time for this UTC time and location, even if you call it 5ms later. The library also has options to select how you want to handle the edge cases if for some reason you have to start, as in your examples, from the local time. Some days, a local time may occur twice or not at all. There may be other ways to do this without an external library, but using the TZDB gives you flexibility to handle different time zones and DST rules. The fact that you ask for millisecond consistency implies that you may require this extra capability.
  4. Regex Buddy (https://www.regexbuddy.com) is a useful resource for learning and testing Regex. There is a money-back guarantee in case it does not float your boat.
  5. timfrost

    Library to get user, computer info

    For Windows, MiTeC System Information Component Suite can get every hardware and software detail you can think of, and more; there is also a trial version available. https://www.mitec.cz/msics.html
  6. timfrost

    simple PDF editing need

    Take a look at https://www.winsoft.sk/pdfium.htm. It's an inexpensive easy-to-use wrapper for PDFIUM. There are trials and demos at that link.
  7. timfrost

    Patch for Delphi 11 Alexandria available

    There is indeed a 'do not show again' checkbox. But normally when I see this dialog it is because I have failed to spot the icon in the toolbar and accidentally opened another IDE instance. So it would be nice to have a 'cancel start-up' option as well!
  8. timfrost

    Moving from Per Monitor V1 to V2

    I would suggest that before you claim to support pmv2 you should add a second monitor which you can run at a different DPI, and test everything. This is the best way to be confident that your users will find no surprises in your software. But even then if the user setup differs from yours, it may not be enough.
  9. I don't know the answer to that specific question. I know that you cannot run multiple threads rendering (different) PDFs to image formats simultaneously, which is why I use Foxit (formerly Debenu) QuickPDF Library for this purpose, where you can safely use multiple instances of the PDFLibrary class in the same process. Google 'PDFIUM multithread' for more information (some of it inconsistent or not recent). When single threading, we can use either library, and we find that very occasionally some (usually CJK) PDFs, which in general our users do not have control over, do not render with one and do with the other. Typically PDFIUM will report failures or unsupported PDF features, whereas QPDF is slightly more likely than PDFIUM to mis-render these edge cases.
  10. 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.
  11. timfrost

    DevExpress PDF Viewer

    There is also the excellent PDFIUM DLL wrapper from Winsoft: https://www.winsoft.sk/pdfium.htm. You would not need to ship the PDFIUM DLL with every update of your software, though it does get updated from time to time. The viewer demo builds to 2.9MB, but the demo is a full viewer with scaling, rotation, printing, rendering etc.
  12. 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.
  13. And mine too. North Star Horizon in a wooden case. I still have it.
  14. I liked the Vectorize demo, but it seems that saving the monochrome image to SVG is not finished yet. Or did I miss something?
  15. "For purposes of controlling the execution of the loop, the expressions initialValue and finalValue are evaluated only once, before the loop begins." You can use a 'while' statement to force the evaluation of the final value on every iteration. i := 0 while i < list.count do
  16. timfrost

    How to get the actual UTC time??

    However "funny" your user's country plays with daylight savings, the settings should be promptly reflected in the IANA database, which you can incorporate using the functions at https://github.com/pavkam/tzdb. If you are prepared to monitor updates (every few months) and recompile your application with the latest include file (many changes are historical only), then it is simple to convert UTC to a local timezone, including DST when applicable, which can be displayed accurately for users wherever they are in the world.
  17. Gimpel Software and PC Lint seem to be still around, and I still have a copy, though a version too old to run on Windows these days. I met Jim Gimpel a few times back in the days when one travelled to software development conferences, even for me across the Atlantic, to discuss and find new tools. Much longer ago than I care to remember.
  18. timfrost

    Delphi demands elevation?

    If you right-click the EXE and select Properties/Compatibility, is 'Run as administrator' checked? This setting would survive rebuilding and would also be unique to your own VM where it is running, as well as independent of the manifest it contains.
  19. So that means it's only one AV vendor that your company uses and that you have to contact? You mentioned 'scanners'.
  20. Trying to change source code to avoid this is a waste of your time. Any change or no change could make it go away tomorrow. Upload to VirusTotal, list those that catch it, and if it is important to you, see if the vendors will fix the false positives. And then it may be reported again when you next make a change and rebuild.
  21. timfrost

    Main screen tab error

    I copied one from 20.0 and changed Rio to Sydney and XE8 to XE9, which sort of works. But I hardly ever close a project or use this screen. It's either closing the IDE or simply opening another project, 99% of the time here.
  22. timfrost

    VCL Handling of dpi changes - poor performance

    After some of my VCL applications, I find the worst performer for repaints when dragging between different resolution screens is Regedit.
  23. timfrost

    community.embarcadero.com's forums

    It would take a lot of sorting out to make the content useful. When the server failed, I recall that the re-built server always had new message IDs so the threading failed and one had to start again with a full download in Xananews, with whatever content was still on the new server. So there are gaps and many duplications. Xananews has a folder for each newsgroup, with one file (messages.dat) containing all the raw NNTP messages and another (articles.dat) with all the threading data. In the messages folder each message starts with a long 'XMsg' header line so each message can be identified; and I think Xananews has the ability to rebuild the 'articles' file as well as maintain it. Xananews can also export messages into plain text files, each message with full NNTP headers and ending with a '.' (but this needs to be done manually for each newsgroup), or whole newsgroups can be compressed and exported, but you would need to study the Xananews Delphi source to unpack them. Xananews used group folders (named by the user) containing each set of folders with a common prefix. The groups I have vary in size from 46 folders of borland.public newsgroups, down to around 36 of embarcadero.public newsgroups. I have four group folders: the "borland" group is 636MB. The other three folders contain embarcadero.public newsgroups and are respectively 255MB, 427MB and 287MB. Looking in delphi.non-technical (the largest group by message volume) the four group folders run from: 2004.04.02 to 2008.08.07 borland 2008.01.02 to 2018.04.21 embarcadero 2008.08.09 to 2011.01.12 embarcadero 2008.08.09 to 2011.12.22 embarcadero In some of the borland newsgroups, content starts earlier or later than 2004. For example b.p.announce runs from 1997 to 2003. And where the top level groups overlap, they have different sets of newsgroup folders. In the newsgroup folders, where the texts match, the headers and message IDs are different. Some of the borland message.dat files have all-null-byte gaps where Xananews shows the article with missing text. If someone wants to take on this archaeology project, I can ZIP the files and upload them, but I do not have the time to do much more than this! If anyone has done this already, with better organized backups than mine, I have not heard of them.
  24. timfrost

    community.embarcadero.com's forums

    I still have the contents of Borland and Embarcadero newsgroups going back to around 2007, searchable in Xananews. But it is years since I have opened them or searched for anything.
  25. For me, this hardly ever worked in 8.4.1, and it was great, when I first installed 8.4.2, to find it reliable again. Now, it's gone; I will have to experiment removing stuff to see if I can get it back.
×