Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 08/19/19 in Posts

  1. Tom Chamberlain

    Using Delphi in Virtual machine for a month

    If you use VirtualBox do not do defrags from inside the VM, use a tool like CloneVDI. We use this once a month to compact and optimize the VDI files before making backups of the VMs.
  2. Larry Hengen

    Using Delphi in Virtual machine for a month

    I have used Delphi in a VM (VMWare Fusion) starting about 10 years ago. I bought Fusion for my Mac Pro (an old 2.2Ghz Core2Duo). Initially I had VMs on my laptop HD, but moved them to an external SSD drive formatted as HFS+. I purchased Paragon's HFS+ support for Windows and shared the VM drive between my Mac Pro Laptop and my PC Desktop. It worked pretty well, but I had to abandon it for one contract as soon as I started using the RAW Input API as that is not supported under VMWare. I then bought an 3.0 Ghz AMD 6 core Win7 64 bit desktop and it screamed using XE2! Still one of the fastest machines I have ever used Delphi on. I used to use VMWare Fusion on my Mac Pro laptop until it died and I replaced it with a Mac Mini which is a little under powered for VMs. Now I am using Ubuntu on my laptop (an old Toshiba Satellite L70-D) 4 core machine with 8Gb RAM, an SSD for the OS and a fast, large HD for the VirtualBox VMs. Performance of 10.3.2 is good. The re-drawing was painful with 10.3.1. I am thinking about putting Ubuntu on my main desktop as well. More cores and much more memory. I am also no longer using VMWare, instead using VirtualBox 6 which seems pretty stable and performant. I use the Host OS for Internet access (FireFox) and share folders from the host for code so I can switch VMs and still compile the same source. This works well to experiment with Betas and other VM configurations, while not confusing things by having source code in each VM, potentially in a different location. You can of course have VMs for specific clients so one Delphi configuration does not conflict with another. The only issue I have had to date is an occasional "lockup" where the VBox VM and the Ubuntu host machine have become unresponsive to the point I have had to power off my laptop. I didn't have any data loss, and I think I narrowed this down to FireFox chewing all the RAM/CPU at some point. Now I only have FireFox running when I need to, and have not had such a situation for a long time. I am even considering switching to Chrome. For me the flexibility of using VMs far outweighs the performance penalties.
  3. Maybe this will help someone deciding on trying to use Delphi in VM: I used Delphi 10.2.3 in VMware for a month and I just reinstalled it back on my local machine, it just didn't really work for me in VM. So, specification: Desktop: Intel I7 4790K (4c/8t), 32 GB Ram and all SSDs; Windows 10. VMWare Workstation Pro 15.1 installed on local PC - I researched quite a lot on how to improve experience with VM Settings: Memory: 12GB Processors: 4 (processors: 2, cores per processor: 2) VM file is on separate SSD. Fresh Windows 10 installed in VM (+all updates + all latest drivers) To make it run a fast as possible (or to limit resources used) I disabled all non-essential services, cleaned up startup programs, no antivirus or antimalware installed. Very few other tools, just 7z, WinRar... Delphi 10.2.3 + IDEFixPack + MMX + GExperts + CNPack Disabled Start page + disabled Live binding. One of the reasons why I tried Delphi in VM is to have simple backup and grab-and-go Delphi environment. So, at first it seemed to work well, full build time was a bit slower, but not too annoying - 50% longer than compile time on local. A bit slower IDE, slower switching between Form and code. For the testing of concept it was acceptable and luckily at that time I didn't have any real development time scheduled, just some minor bug fixes. But as soon as I started really working with it, all these little things became very annoying, in a matter of few hours: - delays in mouse right-click in code to use Toggle Breakpoints or Refactor (rename variable) - delay on selecting Form controls and Object inspector to populate properties and Structure view - opening menus - even ctrl+home/end on large unit (40K loc ) was delayed - and other little delays here and there The delay I'm talking about is very minor, probably less or close to 1s, but when you use IDE a lot these delays become very apparent and annoying. For me this was too much after a few hours of real work. To summarize, I think I optimized VM as much as I could to run as fast as possible; the computer is still powerful enough even though is not brand new high-end computer; I don't have huge projects, but they do have some 100Ks loc each. If I would install all the rest of the tools I use in my daily development environment and run them as I do on local computer (memory regularly gets used 20GB+) it would slow down the whole VM experience even more. I doubt that VirtualBox or any server virtualization (Hyper-V?) would improve the experience. Maybe it's my patience (or the lack of it) that got tested really fast, but VM just isn't working for me. If anybody has different experience, please let me know if you have any advice on how to make the whole experience better - smoother IDE, like on local installation where runs really fast (very acceptable).
  4. Been using Delphi in a Parallels VM on a Mac for four years now. Now problems, no worries, no special settings. Only iOS compiles need to be done twice, because the compiler or the linker or whatever only likes the shared folders every other turn...
  5. Lars Fosdal

    [out] and [in] in records

    VCL.Forms, VCL.Printers and VCL.StdCtrls has a few of these, but for only for function parameters in CLR code. {$IF DEFINED(CLR)} type TMonitorEnumerator = class FList: TList; FEnumProc: TMonitorEnumProc; // reference to the delegate so the garbage collector doesnt free it constructor Create(List: TLIst); function EnumMonitorsProc(hm: HMONITOR; dc: HDC; [in] var r: TRect; Data: LPARAM): Boolean; end; {$ENDIF} and on the topic of CLR: https://stackoverflow.com/questions/2210122/why-are-there-so-many-if-definedclr-in-the-vcl-rtl Yeah... that stuff really should be made to go away.
  6. Ok after tinkering with the .dproj file I decided to start from scratch, an empty project, added all my units and compiled. No problems. Just had to add all the icons, splash screens, and the specifics in each Deployment. Now it works. Thanks all
  7. 👍 - don't use snapshots at all (they were intended as short time snapshot anyway), I use complete duplicated images instead (about < 1 min on modern SSD) - Keep Windows lean and clean (tidy up temporarily files and system update files regularily) - Clean the VM image regularily ... <to be continued>
  8. Tom Chamberlain

    Using Delphi in Virtual machine for a month

    We have used Delphi in Virtualbox for 10+ years using a separate SSD for the VM makes the biggest improvement and using the extensions help, no AV software in the VM. We keep the source on the host drive with a share to the VM, this lets us upgrade the VM/Delphi faster, source control also lives on the host with the source directories excluded from AV monitoring. We run multiple VM's at the same time, 2012 Server with SQL and our services for a complete isolated (virtual networks) production like environment. No need to ever access the internet from the VM's except for Windows updates. We use i7 laptops with 32GB and multiple SSD/M.2's on docking stations with multiple monitors so the Delphi VM has it's own full screen, the 2012 server is minimized 90% of the day.
  9. We have been using Delphi in a VMWare Workstation for over a decade. We have a team of about 12 people. Some remote workers use Delphi in a Citrix instance run on our XenDesktop environment. A decade ago, there were lots of problems. Windows activation issues. Delphi activation issues. etc. But we stuck with it because it ensured all team members have an identical instance set up appropriately. Also, if one computer crapped out, we were up and running within 20 minutes. These days, its a no brainer. We dont even have Delphi installed directly on the host machines any longer, so I cannot compare to a host installation on the same machine, but running in the VM is more than acceptable. All benchmarks we have run (i.e. running same executable inside vm and on real machine) are within 95% speed of each other. For profiling, we dont even both copying to the host machine any longer, unless we are profiling heavy multi-threaded work. What does make a big difference is to put the VM on an SSD. Compile times are much faster. Our App is about 2 million LOC, but we ensure that our individual units are not too large. Usually a few K LOC, up to a max of 20K LOC or so. CTRL+END is pretty instant for me, even in the largest units. Maybe we would get 1/2 sec better on some mouse actions if we installed it on the desktop, who knows, but I personally do not notice any speed impediment due the to the VM. My typing speed is usually the bottleneck, not the IDE (and I type pretty fast).
  10. Uwe Raabe

    MMX 15 (Beta) Available

    Build 2352 can be used with Delphi 10.3 and 10.3.1 again. If you have Delphi 10.3.2 you need to install the Runtime Packages Compatibility Patch first.
  11. John Kouraklis

    The Embarcadero GetIt server could not be reached...

    Ok, GetIt is back
  12. Uwe Raabe

    MMX 15 (Beta) Available

    I have just uploaded a new beta 15.0.0.2350: https://www.mmx-delphi.de/downloads/download-info/mmx-beta-build/ bugs fixed: there were still problems with AutoToggleObjectInspector message instead of exception on convert with when no with is available sometimes Explorer behaved strange with docking OT: I was a bit overwhelmed when I realized that there were over 16.000 downloads for MMX 15.0.0.2346 - quite impressive for a beta version.
  13. Sherlock

    August 2019 Roadmap released

    Compiler optimization Bug fixing Support for current versions of the supported OSes Finished. That is what I expect from 10.3.3. Looks like some of it is being done. So: Bravo. I really don't need new language features, but that's just old unflexible me. Then there's the trend to issue a major release early in a year and getting it fixed by the end of it, only to start the cycle again a couple of weeks later. That is tedious.
  14. Lars Fosdal

    August 2019 Roadmap released

    10.4 has "language improvements". Some of the stuff I'd want to see here - although I expect only the two top ones to actually be candidates... - parameterless record constructors - nullable types - proper record constants that are treated as constants - generic support for nullable types - generic constraint for enumerated types so that you can for a Value:T use Ord(Value), Set of T, Value in Set, etc. - generic constraint for number, so that you can use mathematical operators on a value of T - generic record helpers - TArray<T> / record helper for TArray<T> - helper aggregation/overload/scoping so that one helper does not have to replace another - lambda expressions - ternary operator to shorten those lambdas
  15. WillH

    August 2019 Roadmap released

    I always felt that Nick Hodges had the cojonnes but sadly did not manage to influence the bean counters. It seems that the bean counters find it difficult to place a value on Quality, credibility and trust.
  16. Lars Fosdal

    August 2019 Roadmap released

    Infradestructure?
  17. Markus Kinzler

    August 2019 Roadmap released

    No Problem here. Maybe a local (proxy?) problem.
  18. Darian Miller

    August 2019 Roadmap released

    "Paying the piper" comes to mind. They cut R&D too deeply and will suffer the consequences. Sometimes you have to tell the money people NO. You always need someone on staff that has the cojonnes or influence to do the right thing versus the least expensive thing.
  19. FredS

    August 2019 Roadmap released

    "Kick the can" comes to mind..
  20. I just want to share this new project. https://gitlab.com/CrossMaker/CrossMonkey The goal is to be able create a native desktop, mobile application and web application with the same user interface and code. For now, it's only in proof of concept state but it can be very easily extended. Anyone interested can participate. Renaud
  21. John Kouraklis

    August 2019 Roadmap released

    All these years, I keep reading about all the cuts in R&D and how this has affected the quality of the products etc., etc. These things happen in business every day. What matters, and this is something we do not consider, is how the situation and the consequences are being managed, by whom and, given these changes, how capable these people are in reshaping the business. So, my point is how has the management team (product, quality, devops,...-add managers here-) adjusted to the cuts in R&D? Have they set the right priorities FOR THE BUSINESS? Have they changed their modus operandi to adjust to the limited developers? Maybe changes to the team structure, reporting paths, decision making paths, etc. Obviously, we do not know the answers to all this as they are internal matters but we can judge from the results. I have the feeling (and I may be unfair to a point) that the management style is the same over the last 20 years. You can see the same consistent views spanning across decades in interviews of some people. And, you can see the same complaints from customers over the years. You can't keep doing the same thing again and again and expect different results... In short, the tip of the problem is not the R&D--it's the people (not the lack of them) and the culture of the organisation
  22. David Heffernan

    August 2019 Roadmap released

    I expect that's exactly what happened, many times, but the money people decided otherwise.
  23. FredS

    August 2019 Roadmap released

    OK, but there is that 'other' stuff, you know 'GetIt' the flagship library management system down for nearly a month now.. well I don't want rub salt in it but at some point some bean counter will ask why the shop using C++Builder can't build an Android app...
×