Jump to content


Popular Content

Showing content with the highest reputation since 05/14/21 in Posts

  1. Version V15.0.37 of MMX Code Explorer introduces Structured Difference Viewer (former available as a separate product). It is registered as an External Difference Viewer in the IDE and can be used as an alternative way to compare source files.
  2. There is annual developer survey going on on Stack Overflow. Delphi is in the language list, now we need Delphi developers answering the survey and ticking Delphi to show it is relevant. https://meta.stackoverflow.com/questions/407914/take-the-2021-developer-survey
  3. They could use this information combined with the location to show "There are redhead / brunette / etc coders in your area" popups
  4. You are completely right, I should have answered 哦□� That should have helped the devs to find out that there is nothing wrong with their input encoding 🙂
  5. We can certainly argue over the term "big" - but performance is either CPU or memory bound - and with hash table items be scattered all over the heap it most certainly will be memory bound. Hash tables are complex beasts and there are many considerations when designing one but usually, you want to avoid blasting your items all over the heap. Interesting read: https://leventov.medium.com/hash-table-tradeoffs-cpu-memory-and-variability-22dc944e6b9a
  6. Joseph MItzen

    VMWare Workstation PRO vs MS Hyper-V

    I've never encountered anyone except Delphi users who develop inside VMs. Seriously, no one else. I'm not sure why you'd want to do it either. You're going to end up with less RAM, slower CPU, slower disk access, and the need to maintain two OSes now. I can understand testing in a VM where isolation and reproducibility are important, but I don't understand the advantages of using a VM for development. Honestly, it might have something to do with how hard it's been historically to get a Delphi development environment set up (or upgraded).
  7. Dear visitors, We have made an interesting application/tool for Delphi - A vector drawing application that converts shapes you draw into TCanvas ready-to-use code. Manual drawing by coding can be tedious task and require a lot of time and precision. With NextCanvas you can draw and adjust standard Delphi shapes as with any other vector application. Single button click will generate a pixel perfect code. Click here to see a video or a screenshot: It's the first version, but we have several nice features coming soon such as: "snapping" points to other shapes or to the container (so the shape resize within TRect). conditional checking. For example if shape need to have several states (like lock on/off). Other shape types such as Pixel or Text. I hope that you will find the tool interesting and that it have a potential. You can find more at: news article BergSoft web site
  8. Rickard Johansson

    LSP Client

    This component was created for use in RJ TextEd to add language server support. It has been tested with several language servers https://www.rj-texted.se/Forum/viewforum.php?f=23. The client and code is available on GitHub https://github.com/rickard67/LSP-Pascal-Library The LSP client was written to make communication with language servers easier. You can use the client to read or send notifications and requests to and from the server. Handle notifications and request from the server using events. The client component support both stdio and tcp/ip socket communication. The client only works in Delphi. I haven't had time to make it compatible with Lazarus/Free pascal yet.
  9. Hi, Based on published free header/wrapper units of BASS audio library plus add-ons on www.un4seen.com, I have improved, modified and added more codes to ensure they work with all platforms that Delphi's FireMonkey and VCL frameworks support. I also collected, intensively tested and structured the libraries into a package for Delphi programmers to use with a very detailed guide accompanied. Finally I also included a simple but sufficiently complete demo project. I have seen so many questions on BASS forums as well as other forums regarding audio for Delphi so I just thought I could share my work. That's all my intention. Here you go: https://github.com/TDDung/Delphi-BASS
  10. sakura

    What is the correct approach to "phone home"?

    Number 3, and creating a simple HTTP web server is no magic work. You may do that with Apache/PHP, IIS/ASP.NET, or even Delphi and internet network protocols. For each way, there are simple solutions.
  11. Videos are very cumbersome for me. Is there a write-up? I mean scrollable readable text? TIA! /Dany
  12. IDK why they need race and gender but left my 5 cents
  13. toms

    Fix for bug in JclShell

    Googled and found this: https://github.com/project-jedi
  14. A.M. Hoornweg

    VMWare Workstation PRO vs MS Hyper-V

    Another advantage of VMs is that you're able to do remote debugging and test your software on a different version of Windows than the one you're developing under. I can easily compile a Delphi application on my Windows 10 development VM, deploy it to a network share on my Windows 7 VM and debug it on that operating system. Piece of cake. The same goes for Linux. It's even possible to run MacOS under VMWare, though Apple doesn't allow it unless the underlying host is an Apple machine. The latest VMWare version can co-exist with Hyper-V on the same host machine by the way.
  15. Vincent Parrett

    JCL installation problems in D10.4.2

    I'm really not a fan of installers like this either.. and especially not a fan of code that a bunch of different modes/ifdefs that change it's behaviour. I would imagine that would be a nightmare for support - having to first work out how it was installed (with the correct options) before trying to reproduce issues. Jcl/Jvcl has always been too complicated - there are some real gems in there but I tend to avoid them because if you use one unit it pulls in 50 more - delphi being delphi, not everything is optimised away. Granted it's been many years since I last looked at it.. but just looking at that installer is enough make me avoid it.
  16. Vandrovnik

    Q for MAPI Expert

    Thank you for the unit! I have found a bug regarding attachments in mvAnsi mode (two times there should be TMapiFileDesc instead of TMapiFileDescW; ^ is missing in FillChar). Original code: if LAttachCount > 0 then begin GetMem(LAttachments, SizeOf(TMapiFileDescW) * LAttachCount); FillChar(LAttachments, SizeOf(TMapiFileDescW) * LAttachCount, 0); Please change to: if LAttachCount > 0 then begin GetMem(LAttachments, SizeOf(TMapiFileDesc) * LAttachCount); FillChar(LAttachments^, SizeOf(TMapiFileDesc) * LAttachCount, 0); I have also added a simple procedure SetMapiDll (on clients computers, GroupWise is installed and used. Outlook 2019, which is also installed, but not used, keeps overwriting the registry entry, so I will probably have to load directly C:\Program Files (x86)\Novell\GroupWise\gwmlt1.dll there). procedure SetMapiDll(const AMapiDll: string); begin MAPIDLL:=aMapiDll; end;
  17. ScroogeXHTML for Delphi is a library which supports a subset of the Rich Text Format (RTF) standard. It converts RTF to HTML5 and XHTML standalone documents, or to fragments which can be embedded in other documents. Besides HTML5, it also supports HTML 3/Flex, HTML 4.01 Strict and Transistional, and various XHTML versions. It is compatible with Delphi 2009+ and Free Pascal 3. Version 7.2 introduces support for embedded PNG and JPEG images using Data URI. Home page, API, Getting Started PDF, full release notes and demo download: https://www.scroogexhtml.com/scroogexhtml_delphi.html
  18. Rollo62

    Using VMWare: what files remain on host?

    I find it very convenient to have a common _Transfer\ folder, which is available on the host, and shared in all VM's. This helps to easily share files and data between the different VM's. Thos files were stored on the host, and in the VM's they were only virtually binded. Of course this is not intended to be opend for write from several VM's or the host at the same time, but just for manual exchange (e.g. for PAServer files, etc).
  19. FPiette

    Using VMWare: what files remain on host?

    You have to consider the content of your VM exactly like you would consider it if it was installed on a separate physical machine connected to the same LAN.
  20. aehimself

    Getting Exception stack trace in 2021

    I gave DebugEngine a try and it is very good. Sometimes it provides stack traces strange (method where exception happened, two inner methods of DebugEngine and then the real stack trace) but it's really easy to install and use. It is also unaffected by the two issues I have with MadExcept (TThread.FatalException and Exception.InnerException is rendered useless). It comes with a utility to attach the map (or it's own compressed smap) format to the .EXE itself, however the final executable is larger than with MadExcept (guess the .map compression is not that advanced in DebugEngine than in MadExcept). I don't have much experience with JclDebug... I tried it once, and I disliked every bit of it. Only to be able to see stack traces I had to include ~30 extra files in my project and the stack traces were not accurate.; so I gave up on it. If you can fit into the free usage conditions of MadExcept I'd say go with that. Otherwise, DebugEngine (or a license for MadExcept) would be my choice. P.s.: keep in mind that also MadExcept and DebugEngine is known to have stack issues if the .exe is packed with UPX.
  21. Kas Ob.

    What is the correct approach to "phone home"?

    Utilizing HTTP Post is the best out there, because: 1) HTTP is faster than FTP and SMTP, like a lot faster. 2) HTTP/HTTPS is the most firewall friendly, one outgoing port and you are good to go. Here i want to recommend to use your built own server, there is many approaches to achieve that and here few points 1) Use your stand alone server to receive these POST requests, or/and make sure you are using TLS secure connection, and here you can stick to the HTTPS with POST or use you are free to internally use your own TCP protocol, if we can call uploading a file (sending data in one way) a protocol. 2) Use Indy or ICS, RTC or what you see fit, it really doesn't matter. 3) I am/was using RTC for many years now to upload many sorts of files, most frequent files were EurekaLog reports, have a look here at that demo for uploading file https://rtc.teppi.net/realthinclient-sdk-lesson-3-sending-small-files-from-a-folder/ 4) RTC simplify multithreading beyond imagining, also it give you the ability to build any server as stand alone EXE, Windows Service or ISAPI for IIS. 5) Once you had your HTTP(s) server receiving the files then if needed go ahead and send them using SMTP, which i do for EL reports after parsing so i have nice emails with many details in the mail body and nice detailed subject, of course along the attached report. 6) In few cases with few of my clients, they wanted to received the reports on their server (and their emails) which wasn't IIS, so i wrote php script to forward the reports to their emails, the script is 30 lines including brackets lines!, google PHPMailer or any other mailing method for php along how to receive a file with php, it will make you smile. 7) HTTP (preferably HTTPS) is OK with CloudFlare like services, so no effect in switching to such extra layer of protection in the future. A little off topic: I use hMailServer for many years and it is just more than great, portable folder, fast and secure, can't be more breath of fresh air to use and configure, i witnessed a server with weak account (email) password been hacked and being used to send spam, hMailServer managed to send 48-60 million spam email per day while the back log was 220 million before i been called to stop it and figure what it was, someone created account for testing with one char password and forgot to delete the account !
  22. "Go to declaration"... i would not claim having worked in any version of Delphi or setup when this has worked 100%. But nowadays it is mostly unusable to me. First Crtl+Click... wait... nothing. Then hoover, wait for "tip", ah, it cannot find the unit. Then on to 3rd party finders. They work better but... a lot of different menus and keystrokes. And some needs maintenance like re-indexing. Sigh... On to the help system. On-line there are 404's, build-in LOTs of other problems. Not just finding a page... Sigh again... Then, "only option left", read-through the uses blocks, guess at what unit it is, right-click "open file at cursor", the Ctrl+F. Nope... some other unit. Ahhh... Try OmniPascal i VC, works a bit better, but it's the same compiler/LSP under the hood... Use Ctrl+Shift+F in VC (for the whole C:*.pas;C:*.dfm) now i have 5 versions of the identifier and have to figure what one i use... This functionality is maybe not "KEY" but when it works one saves so much time and frustration! Emba should put some special focus om this, IMHO. Arghhhh!
  23. David Heffernan

    Micro optimization: Math.InRange

    I'm betting that improving the performance of InRange has no impact on the performance of these reports.
  24. Attila Kovacs

    Q for MAPI Expert

    Use it as you want if it works. I'd be happy if fixes/enhancements would come back to me! 😉 forsix.MapiMail.pas