About the author
So, when you first install the CodeGear product that you have purchased, you're required to register it.
In my opinion, registration serves as a form of software protection for both the customer and the vendor, protecting both parties.
Software protection has a long history since the 80s, involving dongles, disks with damaged sectors, hard disks with marked sectors (I know, I've encountered all these personally before. In those days, you had to have the physical device with you before you could start the software), etc... leading, to the eventual current state of product activation.
Various criticisms have been voiced.
If you're a first time customer, you're required to fill in some information, such as your name, your email address, your home/office address, the name of your company (optional), etc. Then, in order to prevent anyone from accessing these information besides yourself, you have to supply a password to protect it. Of course, if you forgot your password for your DN (Developer Network) account, there's a way to recover it.
For the purpose of this blog entry, let's assume that for various reasons, you decided not to supply valid information. Then, one day, you either
or all of the above so that none of the original registration details match the information you can supply now, and had to reinstall the software. Or someone had performed a license theft and now has your serial number and authorization key.
So the scenarios now are:
Supposing you now have this issue on your hands, and you're required to resolve it, what do you do?
First, you have to verify the customer's details. (There's the two-way authentication issue, verifying that the vendor is who they say they are, but this blog entry is not about security, so I'll not go into that) Since none of the details matched, and you couldn't be sure the customer is who he claims he is, you can't release any information to him, as that causes all sort of privacy, confidentiality and other related issues.
And that's why it's essential that your DN account have accurate details.
Continued discussion of undocumented Delphi 8 Property Access Specifiers, and other ways of adding and removing delegates / events handlers, including clearing the list of all the delegates / event handlers.
This article discusses the new Delphi 8 property access specifiers.
A method pointer is now the same as a global procedure, ie, procedure of object = procedure.