Jump to content

Darian Miller

Members
  • Content Count

    593
  • Joined

  • Last visited

  • Days Won

    14

Everything posted by Darian Miller

  1. Darian Miller

    Guidance on FreeAndNil for Delphi noob

    It is very likely that whatever decision you make now, you will adjust as you get more experience. This is a topic without a true correct answer... it simply depends. If you want to be strict and always follow a single rule - then use FreeAndNill all the time. After a while, you will wonder why you are doing that and you can revisit after you have some code in place. For me, I only rarely use FreeAndNil - only when it is part of the normal logic that instance again could/will be read in the future and that I will need to know it's correct state. (For example, treat nil as a special 'done' or 'not yet started' type flag.)
  2. Darian Miller

    Delphi TOIOBE index lifted in May 2022?

    Can you provide a source for that?
  3. Also read suggestions from Marco Cantu https://blog.marcocantu.com/blog/2022-december-suggestions-help-delphi-compiler.html
  4. Darian Miller

    LSP Rant

    Do you have any plans on releasing that plug-in?
  5. Darian Miller

    What new features would you like to see in Delphi 13?

    Hopefully your fix count going down over time. What's your feeling there...is it getting slowly better? Have you published your latest fixes anywhere?
  6. Darian Miller

    What new features would you like to see in Delphi 13?

    +1 for 32-bit apps in a global commercial environment that is a very long way away from deprecating 32-bit applications. Just think of how many developers are still using Delphi 7 on a daily basis. There are still major Turbo Pascal line-of-business applications being supported. Put that up there with IP4 being completely replaced very soon, or this is finally "The Year of Desktop on Linux", or the WEF will peacefully achieve its global governance goals and the world's citizens will all be happy.
  7. I posted a blog article on this topic yesterday: https://www.ideasawakened.com/post/name-your-threads-even-the-ones-auto-created-by-delphi I'm curious how many others do this sort of thing. I think it really comes in handy sometimes. I also went looking for the reasons behind each of the Delphi-created threads, other than the main message loop. Do you have any info on that? I could swear I read an article on it years ago, but couldn't find it.
  8. Darian Miller

    Do you name your Threads for debugging?

    I was playing with a little threading project tonight and I did a quick update on this unit to add a delay similar to what you suggested. (Now also call Get/SetThreadDescription if available) https://github.com/ideasawakened/iaLib/blob/master/Source/iaRTL.NameDelphiThreads.Windows.pas
  9. Darian Miller

    Any reason not to upgrade to 12.2 ?

    See some notes here for issues with 12.2: https://github.com/ideasawakened/DelphiKB/wiki/D29.ATHENS.12.2.0.0 I haven't updated the wiki yet for the 2 patches for 12.2 One reason to upgrade is Smart Codeinsight
  10. Darian Miller

    Open-source Delphi interpreters?

    This is probably the better choice: https://www.delphitools.info/dwscript/
  11. Darian Miller

    Open-source Delphi interpreters?

    This one has a long history: https://github.com/remobjects/pascalscript
  12. In a codegen project I am working on, I am importing an API and creating the Delphi code to utilize it. I prefer working with records so most of the codegen is creating record types for the request/response objects exposed by the API. However, about 5% or less of this large API types involve circular references between types. I tried a few different approaches and couldn't come up with a decent solution with records so I starting to use forward declaration with classes, at least for this 5%. That seems to work, but now I think I need to make all the types classes instead of having a mixture. I ventured into Variants and even implemented my own custom type via TInvokeableVariantType to get some properties defined but generic variant custom record types don't work. It was a cool side trek but didn't solve this problem. After stewing on this for a while, I thought I'd ask for any feedback. Would you prefer a large API with 95% simple records and some occasional class-based request/responses due to a funky API design, or would you want to see it consistent throughout and only use classes? Or would you implement an alternative approach? TRecordA = record Field1:Integer; Field2:TRecordB; Field3:string; TopX:TRecordC; end; TRecordB = record Field4:Integer; Field5:TRecordA; end; TRecordC = record Items:TArray<TRecordA>; end;
  13. Darian Miller

    Delphi roadmap 2024

    See: https://www.embarcadero.com/support Premium Update Subscription support includes "Regular online meetings with the product team and individual company roadmap sessions" I am curious if anyone has purchased Premium Update Subscription and has received roadmap sessions... They have said in the past that if you are an active subscriber that you can privately ask about roadmap issues (nad not necessarily requiring Premium support.)
  14. Darian Miller

    Migrating Delphi to new device

    If you purchased 11 but your subscription ran out after 11.1 was released but before 11.2 was released, you could only use 11.1 even though 11.2 is another update to 11. I assume you should be able to download 11.1 in that scenario but accessing installers after your subscription runs out is a murky area to me. I believe they allow you to access the download portal only if you have an active subscription - so it's up to you to ensure that you download the installers you need and keep local copies before your subscription runs out. (Since you aren't paying them anything for ongoing support, you would be expecting lifetime free access to that large database of installers that they maintain - which seems like a valid argument from their side. On the flip side, bandwidth is pretty cheap these days and they are already hosting it for paying customers...) Alternatively, while you have an active subscription, you should at least keep a copy of their public download links so you can download them later as needed (for example, keep this link for the 10.4 ISO image: https://altd.embarcadero.com/download/radstudio/10.4/RADStudio-1042-4203.iso) Of course, they could change those download links in the future so it's best to keep local copies if you are not maintaining an active subscription. The best solution is to always keep your subscription active and up to date. It benefits the entire community by keeping your subscription current.
  15. Darian Miller

    Delphi 12.2 enterprise : code insight 64 bits version

    New blog post from Embarcadero on 64-bit LSP https://blogs.embarcadero.com/delphi-lsp-64-bit-power-for-large-projects-and-improved-codeinsight/
  16. Darian Miller

    install the DelphiMVCFramework

    d102 is for RAD Studio 10.2 Tokyo. d103 is 10.3 Rio. d104 is for 10.4 Sydney. d110 is for 11 Alexandria And d101 is for 10.1 Berlin. So you want to open the group project file in 10.1: packages/d101/dmvcframework_group.groupproj and Build All and then right click the design time package and hit Install. (And follow instructions to edit library paths) For Delphi 11, open packages/d110/dmvcframework_group.groupproj and repeat.
  17. Darian Miller

    Quality Portal going to be moved

    JIRA Service Desk is an abomination... but so many companies are tied into the JIRA/Confluence infrastructure that they can get away with it being so terrible. That reality sucks. I recommended they go with something else, or write their own. A simple service desk system written in TMS WebCore or Quartex Pascal would be a nice solution using a RAD Server middle tier with Interbase backend. But it's too big of a project to add to their overly full plate.
  18. New blog post on WITH statements. The topic was recently discussed once again in the Delphi Developers Telegram group which triggered a blog post: https://ideasawakened.com/post/why-you-should-not-use-WITH-in-your-Delphi-code
  19. Darian Miller

    Unicode Statistics Tool

    27398 attached 27398_unicode_statistics_tool.ZIP
  20. Darian Miller

    "Death to WITH" in your Delphi Code

    My guess is that Aliasing would bring in a new set of problems but if it's just a preprocessor type replacement, it might be OK. But look at your example code - what is the scope of "NewQty"? Does it belong to A, to B, or to the Form, or to a variable or method somewhere? If it doesn't belong to A or B, what if "NewQty" is added to A or B as a property or method later? Boom, your with-bomb will explode into a nice bug.
  21. Darian Miller

    "Death to WITH" in your Delphi Code

    I quoted your blog article in mine. Thanks for the +1.
  22. Darian Miller

    Patch - Bug or not?

    If you are running Delphi 11.3, then you shouldn't see (or attempt to use) the 11.1 Debugging Patch in GetIt. That fix is in 11.3 already. 11.3 has one patch available but also note that 11.3 was re-released as "11.3 Build 2024" https://github.com/ideasawakened/DelphiKB/wiki/D28.ALEXANDRIA.11.3.0.2
  23. Darian Miller

    Suggestion for next version name - YASAB

    What components / IDE experts do you have installed? My 12.1 loads very quickly as I only have a few components installed. Sounds like you have hard drive problems or low on memory.
  24. Darian Miller

    Quality Portal going to be moved

    It's disappointing for sure. Your support tool is a very visible representative of your company and your product. This is what they choose to represent their product. They had years of being out of date on their hosted JIRA so it didn't need to be a quick decision.
×