Jump to content

Bill Meyer

Members
  • Content Count

    647
  • Joined

  • Last visited

  • Days Won

    12

Everything posted by Bill Meyer

  1. Bill Meyer

    When did Pos become PosEx?

    In D2007, I have the Offset argument.
  2. Bill Meyer

    When did Pos become PosEx?

    Can't tell you when it was added, but it is present in D2007.
  3. Does using a defined type play any part in reducing the bloat of generics?
  4. Bill Meyer

    Class Constructor in Delphi 10.4

    In my experience, the initialization section is dangerous. When you have a large legacy project with many unit dependency cycles, and begin working to clean up that issue, the changes in uses clauses may lead to reordering of the initialization sequence. I found it necessary to log the existing order, then replace initialization sections with InitializeUnit procedures called from an initialization manager. That let me proceed with the cleanup. Without that change, I soon had an app with a lower dependency cycle count, but which did not work.
  5. Bill Meyer

    Convert to Property

    You can open the MMX Code Explorer, and drag/drop to Object Inspector area.
  6. Bill Meyer

    Difficulty with component installation

    I had found this advice on stackoverflow: Easy way to solve this issue is to add a post build action to your run time project: copy "$(OUTPUTDIR)\$(OUTPUTFILENAME)" "$(BDSCOMMONDIR)\Bpl" The command above copies your run time file to the default IDE Bpl location. I tried it, but again got the same error. I also tried without that, and adding my BPL location to the PATH, as another thread suggested. That also failed.
  7. There is also the question of disk thrashing defeating the parallel approach. You can get a hint of this in BeyondCompare, if you set up multiple large copy operations, and run them in parallel.
  8. The net license needs to reach the server at least every 30 days, so you are not on a very short leash. On the other hand, if the doors closed, you could be toast in 30 days.
  9. The old components are A problem, and certainly can be significant. I've dealt with this in the past, and am doing so now. And it is not only that old components are an issue, but that it is common to find in legacy projects large numbers of components, because there was a natural tendency to want to try the latest shiniest toys. This wide range of components to be replaced increases the technical debt to be paid. And yet, I would not want Embarcadero to expend monies and development resources bringing these into compatibility with current compilers. (And which current compilers, come to that?) This I would doubt to be practical. Look at the current license fees. Those seem insufficient to pay for the extent of improvements we would all like to see, but you would divide these resources to apply some portion to legacy issues? That will clearly work against the rapid advancement of the product. OSS is such an interesting swamp. For Embarcadero, the obvious problem is revenue, which the rising license fees suggest is less than they wish it to be. I fear that part of the problem is that they (like politicians) fail to adequately consider that the relation between fees and revenues is elastic. Doubling the fee will not double the revenue, as it will drive some not to renew. Basic economics. But will any company wish to buy Delphi to take it to OSS? The world perceives that Delphi is dying. They need not be right, as perception drives action. Idera, having spent a good deal (we assume) to acquire Embarcadero, will want a good deal for it. That suggest the need for an OSS company with deep pockets. How many such exist? And as they are almost universally committed to C and C++, where would be their motivation? Acquisition of a market of uncertain size for a product which many choose not to renew annually? Further, OSS is itself no guarantee of future success. In case you missed it, the consistent mantra has for years been that we (the market) are clueless about marketing. And about the relative merit of improvements, enhancements, and repairs. And that is an inescapable part of how we came to be where we are now. I can envision many changes which I think would be beneficial for the future of Delphi, but as none of us is in possession of any meaningful data regarding market, revenues, and so on, it is purely speculative.
  10. And to be very clear... anyone who thinks that letting me install my old D7 will have ANY impact on sales of more recent licenses is clearly ignorant of the product, as well as the market.
  11. Bill Meyer

    FireBird tool, Coworker doing this, 2.0 just released

    Why not ask the publisher? info@texteditor.pro I have found him responsive.
  12. I have no issue with a limit on the time in which versions could be downloaded, but prior to the recent bump to installation counts, I learned the hard way that my venerable copy of D7 could not be installed as licensed, despite my having the installables and the license code. And I am sorry, but that's a bad policy. Back in the day, I used to license new releases whether I needed them or not, just to support a company I valued. Now we are asked to pay impressive license fees, and if we do not stay current, we lose the ability to reinstall old versions, which may occasionally be needed for one reason or another. And curiously, the mantra has been that developers don't understand marketing. Sorry, but that dog won't hunt. Any of us who have made our living through contract work or custom development certainly have hard earned knowledge of marketing. And as to marketing, any recent promotion of Delphi apart from embarcadero.com?
  13. Bill Meyer

    Rx10.4 new feature blogs

    The rest is a guess based on historic practice. Makes me just as right or wrong as any other speculator. 😉
  14. Bill Meyer

    Rx10.4 new feature blogs

    I think you will find that it is not a change in policy, but that they have been given permission to write about the coming release, which is likely to appear rather soon.
  15. Bill Meyer

    Profiler for Delphi

    I have had success with ProDelphi, which has been well maintained. My only complaint is that as it will instrument a maximum of 64,000 routines, on large projects, you must enter a list of folders or files to exclude. That said, I have been very pleased with it over the years. There are 32 and 64 bit versions for Delphi and for Lazarus, and the price is low. http://www.prodelphi.de/
  16. Bill Meyer

    Difference between Pred and -1

    Yeah, it's in the fine print. 😉 I learned that one only in the last few years.
  17. Bill Meyer

    JSON woes

    My colleagues tell me they have identified a problem in the copy of superobject which we use in D2007. The problem is not present in the version we use in XE7, but I am not aware of what may be different, and no one appears to have noted when and where the two versions were acquired. I am also told that there have been a great many forks of superobject, which makes it all more confusing. What version do people here use, and what is considered the gold standard now, if there is one?
  18. Bill Meyer

    The interfaces in Delphi are bad?

    I use interfaces and find them very effective -- in their place. But I curse the unimaginative implementation, which seems unlikely ever to be improved. I understand that they came about to support COM. But I rarely make use of them in that context. Instead, they have become a tool for memory management, and for limiting exposure of class internals. That said, it would be very nice to be able to make getters and setters in interfaces private. That you cannot do so makes the use of properties in interfaces almost silly. But I would prefer to expose the properties, and hide the underlying methods. There has been much change since D3 in the ways most of us design our code, but the interface is like a fly captured in amber.
  19. I'd remove it. I have seen comments inserted as a matter of style, and consider them noise. The worst, in my view, is the comment inserted after end. procedure SomeOp; begin end; { SomeOp } First because unless the routine is very long, it is pointless, but more importantly because when you are removing code, the IDE will strip empty routines on save, and this trailing comment defeats that behavior. Comments are useful where they explain the motivation, the reasons why non-obvious operations are performed. Boilerplate comments are worse than useless.
  20. Bill Meyer

    OpenType file API?

    I have been searching online for a Delphi interface to OpenType font files. I have found many links regarding OpenType, but little or nothing for Delphi. If anyone here can suggest a link, I would appreciate it. It's a matter of curiosity, not something I expect to lead to any commercial work. TIA....
  21. Bill Meyer

    OpenType file API?

    Yes, an obvious alternative. Was just hoping someone may have gone down that path already.
  22. Bill Meyer

    Using Delphi in Virtual machine for a month

    Interesting. I've been very happy on VBox, and the changeover would be tedious, but the main thing holding me back would be that VBox apparently does not work well with Hyper-V enabled, so it is one road or the other. In my work, graphics play no part, so I have not seen any reason to be unhappy on that score.
  23. Bill Meyer

    Boolean evaluation

    Another suggestion I offer is that when you must evaluate more than a few terms, it can be helpful to make use of local variables. This is especially true where each of your terms is itself lengthy, such as SomeObj.SomeMember.AProperty. Similarly, if several terms evaluate properties in a complex object, then rather than writing: if SomeObj.SomeMember.TermOne and SomeObj.SomeMember.TermTwo and SomeObj.SomeMember.TermThree then You might instead do: var obj: TMySubClass; begin obj := SomeObj.SomeMember; if obj.TermOne and obj.TermTwo and obj.TermThree then I also find that with many terms and long reference names, the odds of making errors in precedence increase rapidly. And the reason for that is that the mess in front of your eyes is approaching incomprehensibility. 😉
  24. Bill Meyer

    Boolean evaluation

    My roots were in hardware logic. Excess terms in hardware translates to using unnecessary parts, each with a measurable cost. Logic reduction is as important in software as in hardware. We don't see a hard cost for the unnecesary terms, but the cost is there, nonetheless. Look at the simplified form Lars presents. Not a big deal in small cases, but in complex chains of logic, failure to minimize becomes a maintenance issue; it impedes understanding.
  25. Bill Meyer

    Generics and Classes on Windows 2000 = OOM

    You appear to assume that this environment will continue to be viable as new versions of Delphi roll out. Unfortunately, the prevailing assumption in the development world is that a) memory is cheap, and b) it is measured in GB. Even without generics, the difference in an application built in Delphi XE and Delphi 10.2 is huge. In the case of a small app of my own, XE produced a 3MB executable, while 10.2 was over 70MB. These numbers are not horrible, but in the context of Windows 2000 treated as an embedded system, I think you are nearing the end of the line for those old systems. You may buy some time by avoiding generics, but sooner or later, you will hit a wall. In a system where your available resources are soldered into the product, you may well need to support a version for those systems which builds in an earlier version of Delphi, and perhaps cannot acquire the same new features as your main application.
×