-
Content Count
583 -
Joined
-
Last visited
-
Days Won
14
Everything posted by Darian Miller
-
looking for design ideas for an easily editable list
Darian Miller replied to David Schwartz's topic in VCL
Depending on the count of items...you could use a list of dynamically created frames within a scroll box. Each frame has your checkbox/memo and you add a way to Add/Edit/Delete items. I've done this a few times with success. -
Best way to check if an internet SMTP server is available?
Darian Miller replied to Ian Branch's topic in General Help
Mailservers are run by inbound and outbound queues. One of their main jobs is to handle this issue. If you are writing a mail server then you are required to properly manage outbound mail queues. If you are sending a message, just send it unless there is some industry specific requirement for non-standard email delivery. -
Grant lifetime subscription to Andreas Hausladen (IDE Fix Pack creator)
Darian Miller replied to santiago's topic in Delphi IDE and APIs
Ok. But can you (or anyone) actually list all changes which are included that are applicable for 10.3.2? -
Grant lifetime subscription to Andreas Hausladen (IDE Fix Pack creator)
Darian Miller replied to santiago's topic in Delphi IDE and APIs
You can certainly vote and buy him a subscription if you think it would help. Or start a pool and contribute to it. He can perhaps use the community edition for free if he wants. It's always been a sparsely documented hodge-podge list of fix attempts that I have refused to use. Embarcadero now has full source and have stated they will implement what they believe are safe fixes. That's good enough for me. -
Grant lifetime subscription to Andreas Hausladen (IDE Fix Pack creator)
Darian Miller replied to santiago's topic in Delphi IDE and APIs
Exactly - installing the IDE Fix Pack today makes no sense. -
Grant lifetime subscription to Andreas Hausladen (IDE Fix Pack creator)
Darian Miller replied to santiago's topic in Delphi IDE and APIs
Does anyone actually have a clue on which fixes are left to be implemented? Where is this list of items needing to be addressed in 10.3.2? -
I've been mostly living under a rock for a number of months... I just came out and installed my brand new copy of 10.3.1 and quickly went to lunch while it installed. I came back and noticed the familiar Java update pending notice and started quickly clicking to get it updated before jumping into some dev work. I then noticed the Updated License Terms screen and the "This version of the Java Runtime is licensed only for your personal (non commercial) desktop and laptop use." disclaimer. Has this topic been beat to death yet? : ) Links please! Seriously though - for commercial Delphi android development, does Embarcadero cover our commercial license with whatever bundled license they have, or do we need to go direct to Oracle?
-
Java Updated License Terms and Delphi
Darian Miller replied to Darian Miller's topic in Cross-platform
I just installed Delphi 10.3.2 and noted that the version of the JDK provided was Version 8 / Update 60 (8u60) build: 1.8.0_60-b27 which was originally released Aug 18, 2015. Given the list of vulnerabilities discovered over the last 4 years, I assume Embarcadero is actively working on replacing the included Java version to a much more recent OpenJDK. Their quality portal is down again tonight, but I'll likely create a request to get this ancient Java version updated in future versions of Delphi. -
Best practices for system migration?
Darian Miller replied to PeterPanettone's topic in Delphi IDE and APIs
I'd recommend putting Delphi into a VM (top 2 choices probably are VMWare Workstation and VirtualBox for Windows and Parallels for Mac) This is what I do: Always maintain a base Windows 10 VM. Keep updates current and have some basic tools installed (7-zip, WinMerge, GIT/SVN clients.) Set computername to something like "Win10Base" Then, for each new Delphi update / version: - Create a full clone of Win10Base - Initially create a virtual drive F disk for Dev projects, then later copy/move the Drive F virtual disk from the previous VM and attach to the new VM - Copy C:\programdata\embarcadero from the last VM to this new clone. (Suggest that you keep a copy of this folder on your DEV drive within your repos) - Change the newly created computer name to match the last VM/standard dev computer name, like "YourNameDelphiVM" and reboot - Create a fresh virtual drive G for each new IDE install. (20-30GB needed depending on which features you install) - Install Delphi to drive G:\ from an attached full install ISO - Ideally your Delphi folders are also in VCS and you can update your repo with the latest install. (I imagine most don't keep Delphi installs in version control though.) I currently utilize a networked named user license and have a separate VM running the local license server which I start up before installing the new Delphi version...there are no more license bump requests with this method. The license costs the same and you can try to get your license converted to this for no extra cost on your next renewal. The License is tied to computername + username so if you keep these the same, then the copy of the slip files in "C;\programdata\embarcadero" works just fine. If you have a bunch of third party components, then it becomes much more of a hassle especially if these components have license protection mechanisms. All of your components' source should be on your DEV drive within your repos. You should have a versioned config script for component registration/library path config. There are plenty of conversations about component management - probably the best approach, if you can pull it off, is to only have all components configured on a per-project basis and have a pretty bare library path in the IDE. Ideally you should have something like a ConfigureDelphi.bat that you can run on each new install. I use this for setting all the options that I used to manually change on every new Delphi version.... how many times after a new Delphi install do you immediately launch Delphi and go into Tools->Options and do the same things like disable Error Insight, set your right margin, set the editor font, and all those custom settings which you MUST have in order to code properly? : ) -
Introducing a duplicate constant instead of leveraging a built-in system constant is bad code unless there's a strong reason for the duplication. To add a wrinkle....for years I used a method IsEmptyString() which would look for '' or just space(s). We considered space character(s) to qualify as an "empty" string. It all depends on what your definition of an EmptyString is within the current context.
-
You could perhaps try adding more new forms/modules until it runs. You could also open a trouble ticket with Embarcadero, but they would likely want to see your entire project. Most maintainers of huge projects shudder at the idea of handing over the entire thing, and there's no way for Embarcadero to repeat it otherwise. I'm sure you've done a full project folder clean already. It sure seems like a resource issue - add some extra items to the project .res or re-verify all custom resource items? Paging @Marco Cantu - any ideas?
-
The only thing left for me to suggest is to step through each and every initialization section until you find one that blows chunks. I'd do a debug build (without system DCUs first) and then step through (F7) until you hit the main form display or you get an exception. I love a good mystery! Sorry, I know it's much more fun on this end...
-
Agreed - but you replied to my message about the side topic of requiring to be on an active subscription to get a bump. It truly doesn't matter...moving on as we could do this all day! : )
-
Sorry, but that was not the issue. By far, the largest concerns were over customers being told that they could not get a bump unless they had an active subscription. The bumps have always been way too slow to arrive so an extra slowdown was a minor factor. Not getting a bump at all was the main outcry. This is an example of what customers were being told: "We received your request to increase the registration limit for your serial number XXXXXXX. Unfortunately, there is not an active support and maintenance agreement for this license. Licenses without active maintenance are not eligible for technical support and this includes increasing the registration limit for your license. Historically, we provided limited support for activities such as changing registration limits as a courtesy. However, this courtesy required time and resources to support. As we now include maintenance with every new license and encourage customers to remain current on maintenance, we changed our support policy to align with industry standards. Going forward any support services requested will only be provided for licenses with active support and maintenance." It was covered here:
-
I experienced a similar problem a while ago. From what I recall, it was a bad binary DFM which had to be isolated/corrected. For some reason, that experience came back to me after seeing your response. (Too many bad memories that have been suppressed!) I believe it turned out to be an ancient form (or two) that we hadn't changed in a very long time. Unfortunately I don't remember exactly how I found it among the many hundreds of forms in the project. I do remember searching for all binary DFMs and I believe I used the tool to auto-convert all the binary DFMs to text and it blew chunks on a bad DFM. It was either that or I manually opened all binary DFMs until I ran into a problem opening the form within the IDE. (It compiled fine and didn't cause errors in the app until some magic moment in time.) It was a few hours of head scratching for sure... Good luck!
-
The uproar over registration bumps has seemed to die down. I imagine they have stopped telling customers that they need to be current to get a bump?
-
Just spit balling here - but add a new unit, save the project and do a file compare of the DPR + DPROJ files... anything odd?
-
10.3.2 as next or waiting for 10.4?
Darian Miller replied to johnnydp's topic in Delphi IDE and APIs
Can be within days -
What options do I have to control custom releases?
Darian Miller replied to Mike Torrettinni's topic in General Help
Instead of building separate executables, I suggest building one executable and leveraging feature toggles through licensing schemes or phone-home type methods -
Best choice for me
-
FmxLinux bundling with Delphi and RAD Studio
Darian Miller replied to Sherlock's topic in Cross-platform
Now there's a marketing line for FMX :o -
It's true - and it the IDE stability issue has been pretty bad. Note that the question was a combination - best IDE stability and VCL win-32 development. In that context, I believe XE2's minor IDE quirks very much outweigh Delphi 2007's more limited dev capabilities. (+Generics, RTTI enhancements, Unicode support) If it's just IDE, then I pick Delphi 5. Super quick load time, no licensing quirks/worries.
-
Do you consider this type construct to be a smelly code?
Darian Miller replied to Clément's topic in Algorithms, Data Structures and Class Design
Your question was "Is this type of construct smelly code?" If you ever feel compelled to ask that about a specific chunk of code, then I would the assert that the obvious answer is YES. -
I believe Delphi XE2 was the best release for IDE stability and 32-bit VCL development.
-
Java Updated License Terms and Delphi
Darian Miller replied to Darian Miller's topic in Cross-platform
No, that is apparently the main problem here. I installed a licensed commercial product from Embarcadero and was presented with a popup from the Java update stating that the license provided on the update is for non-commercial use only. I assume the version installed with Delphi was an older version and you are simply disallowed from updating it to the latest version unless you get a commercial license. My question was - did Embarcadero manage a commercial license which covers our use? I had assumed this topic was already discussed in length...but apparently not. I assume people are just ignoring that warning in the Java update screen.