Jump to content

Bill Meyer

Members
  • Content Count

    656
  • Joined

  • Last visited

  • Days Won

    12

Posts posted by Bill Meyer


  1. 16 hours ago, David Heffernan said:

    David is making a good point here. If Emba were starting from scratch here, would they end up with all these different incompatible procedural types? I doubt it. 

    Agreed. However, they are not starting over, and would be unlikely to do so, with the low popularity of Pascal today. Given the inertia in the existing code, and concerns over breaking changes, as well as the lack of deeply committed language heavyweights on development, I think that the trend to cross-platform is likely to continue to dominate.

    I would like to be proved wrong on that.

    • Like 1

  2. After all these years, I would have thought this should be simple, but apparently not. My app needs to be able to send mail via the installed default client. The assumption is that MAPI will be used, but if that is an issue, I suppose it could be changed. 

     

    My problem is that on systems with Outlook, I have not been successful. If I install Thunderbird, and set it to be the app for mapimail, it works fine. But obviously, I need to be able to send where Outlook is the client. I have been reading Microsoft docs, and checking registry keys, and still have not found a clear answer to why some systems work and others do not. That said, I have never been a specialist in this area, so my own ignorance of the mechanisms is an impediment. I would appreciate it if anyone can offer a simple and reliable solution.


  3. 26 minutes ago, David Schwartz said:

    <snip>

     

    And here you are redoubling your efforts to explain to me in ridiculous detail why the simple thing I want to see possible at the source code level is impossible to do.

    Pesky facts. You cannot do what you wish, with the product which exists today.

    26 minutes ago, David Schwartz said:

    <snip>

    I'm really not interested in the technical reasons why this suggestion isn't possible today. Just like I'm not interested in justifications why you can't use strings in case statements in Delphi while most other languages today allow it. There has to be a willingness on the part of the vendor to add these sorts of upgrades to the language instead of defending their absence, which is the normal case with Delphi.

    Facts don't yield to attitudes. Hard to say what the future holds, but so long as the pursuit of cross-platform seems to take a high priority, the enhancement of currently functional language elements is unlikely to be reconsidered, IMHO.

    You asked how to do what you want, and the answer is that you can't. At least not now. We all have our pet wishes for Delphi features, and I think there could be astonishment at how little commonality of opinion there is.


  4. 53 minutes ago, Darian Miller said:

    I'd compare FixInsight to Pascal Expert (https://www.peganza.com/products_pex.html)    Pascal Analyzer is Pascal Expert's much older brother with a ton more reporting options:  https://www.peganza.com/products.html#PAL   

    One issue I note with Pascal Expert is that the supported versions begin with D2007 on some pages, and D2009 on others. I noticed because I am still very active in D2007, which FixInsight supports with no problem.


  5. 6 minutes ago, AlekXL said:

    It's wouldn't hurt anyone to add a keyword or two.

    It's less about the number -- though number is a consideration -- than about the thoughtful and deliberate decisions made with regard to extending the language. That said, I dare say we all have our pet topics for improvements we may consider very important. One factor in our assessment of the keywords issue is that we have limited awareness of future plans to extend; we cannot properly assess without more data than we presently have.


  6. 19 hours ago, Remy Lebeau said:

    Borland tried that once before.  The CLX framework in Delphi 6 was a cross-platform version of the VCL.  Most of the interfaces remained the same, just the internal implementations changed.  That didn't work out so well for them, CLX had to be scrapped.

    I was keen to get Kylix and thought CLX was a good start. I think what killed Kylix was the plethora of Linux distributions which added twists and turns from Borland's perspective. And for those of us testing the waters, the fact that there were only 3 distributions (if memory serves) on which Kylix was certified to work was daunting. Then there was the lack of components -- how many do anything non-trivial in Delphi without the use of third-party components?

    And as to components, Delphi 1 offered no component in support of serial ports, at a time when almost anything which connected outside the PC used serial ports. That was remedied soon enough by the appearance of third-party components, but always struck me as evidence of blind spots in determining what the base components needed to be. Further, the component business has always been problematic, as Delphi must ship with components, and realistically must also add to its component sets over time, but then risks competing with the third-party vendors who are essential to Delphi's popularity.

     

    I do not imagine in my wildest dreams that Embarcadero will do anything serious with open source. The Interbase exercise would be enough to make many take a wait and see position. Why invest in supporting an open source project which is closed again after some months?


  7. 12 minutes ago, Anders Melander said:

    I'm pretty sure many of the countries on the receiving end of US' forced friendship has a different view on that. Look to me like the US is actually also guilty of most of the issues you listed. I don't mind the US looking after its own interests, just don't pretend it's doing anything but that.

    China is a complex issue. Sure it's bad in some areas, but it's slowly improving. It's a huge country and rapid change would cause the country to implode.

    History shows that the US looking after its own interests has had us paying most of the costs of defense for Europe since WWII. 

    You are entitled to your own opinion, but not your own facts.

    That said, this thread is wildly off topic, and I will write no more of this.


  8. 11 hours ago, AlekXL said:

    Please! What are you afraid of? What our Chinese brothers could possibly copycat? And for what end?  Currently there isn't  anything special in Delphi compiler itself. In the past, in  years of its youth and glory, yes, Delphi was a conceptual breakthrough.

    Combativeness is not a tool of persuasion. As to China, wake up and smell the tea. They plan to dominate us as soon as possible, and technology is at the heart of their interests.


  9. 45 minutes ago, David Schwartz said:

    It's still GPF in my mind! I have no idea when they renamed it. IIRC, GPFs were frequently accompanied by BSODs, which still happen every now and then. (I'll let someone ask what they are... )

    It is still GPF under the covers,  as in the Wikipedia article here:
    https://en.wikipedia.org/wiki/General_protection_fault
    The jargon comes from the x86 CPU family. The AV term is discussed here:
    https://en.wikipedia.org/wiki/Segmentation_fault


  10. 20 minutes ago, Dany Marmur said:

    Exit is brilliant in fuctions. Otherwise, i tend to agree it's a bit finicky.

    I like repeat for some special cases. But every time i did a repeat it was to get rid of some local vars needed in a while.

    Repeat IMHO should require a begin-end block IMHO to be consistent with the other program control keywords.

    Exit, Break, and Continue all seem to me to be structured GOTOs. They interrupt the flow, but in a well ordered way. Well, at least when used properly, it is well ordered.

    • Like 1

  11. On 4/3/2019 at 4:56 AM, dummzeuch said:

    There are a few things that every single one of our internal programs should do:

    • Every dialog should be sizeable if it makes any sense at all. Delphi makes that easy with the Align and Anchor properties. Ask yourself the following questions. If you answer any of them with Yes, ...

     

    https://blog.dummzeuch.de/2019/04/03/things-that-every-desktop-program-should-do/

    I would add that any dialog which reports an error condition  should allow the user to copy the text to the clipboard. 

    • Like 2

  12. 6 hours ago, Dalija Prasnikar said:

    You started with prefer, now you have come to always... and you are conditioning yourself to use composition without considering inheritance... you should consider both at the same time. There are always trade offs and you have to take those into account. If you start with composition and say, OK composition can solve this problem, I am all done, at some point you will make wrong choice because sometimes inheritance will be better fit. Now, I could be wrong, I don't know what is in your head... 

    (snip)

    I don't know how many times I used inheritance over composition or vice versa, I am not counting... it is irrelevant... even if 90% of the time composition is better, that still leaves you with 10% where it is not. 

    Rules are made to be broken. (Except this one!)

    Consider the "Law" of Demeter. which proposes that drilling down through layers is a bad thing. Then consider: MyCaption.Font.Color := clRed;

    Does it really make sense to have to write:

      _font := MyCaption.Font;

      _font.Color := clRed;

     

    And if layers of dotted notation makes for bad practice, then what does that make of Fluent coding?

     

    Sometimes, inheritance is the best choice, but the deeper the inheritance -- in my view -- the more likely it was a bad choice.

    Sometimes composition is the best choice, but things become murky when some of the members are best assigned dynamically; then you need also consider whether Property DI is a better choice than Parameter DI.

     

    And sometimes, a simple function is just fine.

×