Jump to content

Tom F

Members
  • Content Count

    226
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by Tom F

  1. Tom F

    Profiler for Delphi

    For profilers, we use NexsDb's: https://www.nexusdb.com/support/index.php?q=node/27156. It's a wonderful product and has helped us a lot. We suggest you avoid SmartBear AQTime. It felt it was designed for C/C++ and that Delphi was added as an afterthought.
  2. To eliminate shipping and updating OpenSSL (ssleay32.dll and libeay32.dll) I plan to move from Indy to THTTPClient for file downloads. Should I be using TNetHttpClient rather then THTTPClient? I'm using HttpAsyncDownloadDemo.dpr as a starting place, although without the Async part. A majority of my users are on Window 10. But a very small number are on earlier versions, some even XP. To be honest, perhaps those users are already experiencing download problems with Indy. It hasn't been reported though. What kind of support I should expect from Windows for THTTPClient in earlier Windows versions?
  3. Is there ever a time to explicitly free a sub-form or does it parent form always do that? The expression: TForm2.Create(Self) establishes that the sub-form TForm2 is owned by the parent form TForm1. When TForm1 one is destroyed, the RTL will destroy TForm2? If so, fNonModalForm.Free should never be done? procedure TForm1.btnCloseAllClick(Sender: TObject); begin if Assigned(fNonModalForm) then begin if fNonModalForm.Visible then fNonModalForm.Close; FreeAndNil(fNonModalForm); // <--- Should I do this ever? end; Self.Close; end; procedure TForm1.btnOpenNonModalWindowClick(Sender: TObject); begin if NOT Assigned(fNonModalForm) then fNonModalForm := TForm2.Create(Self); fNonModalForm.Show; end;
  4. @Anders Melander Thank you for your helpful answer!
  5. @corneliusdavid Thanks for the response. I hope you are correct. I hope someone who knows the internals of the RTL will post her confirming that TForm.Create(nil) has no side effects other than relieving the parent form from the responsibility of freeing the form. Somehow I thought that Z-order (I'm using fsStayOnTop) depending on the sub-form knowing its parent. Tom
  6. @corneliusdavid: Is it safe to set a form's parent to nil, as in TForm.Create(nil)? Does a form inherit properties and behaviors from a parent that if we use nil are not inherited? @John Kouraklis: In some initial testing I was finding even if I explicitly did .Free and := nil (or used FreeAndNil) that the RTL still seemed to be trying to destroy the sub-form when it destroyed its parent form, the app's main form. I'm hoping that some RTL gurus will clarify all this for us.
  7. Tom F

    Bookmarks dead?

    Good point. Messes like this often have have the stink of a company that has decided to take larger profits rather than sufficiently funding their engineering staff. Whether that’s the case with Emb, I don’t know.
  8. Tom F

    FMX cross platform approach?

    Several years ago we migrated a 50,000-line Windows VCL app to FMX so we could distribute it on MacOS. The migration was pretty easy for us. Most of the differences were changing out VCL component and property names, which is a nuisance, but not difficult. IMO, though, it's not something you want to do later. I recommend people develop in FMX from the start. But, maybe that's not what you were asking? For target platform: Compiling, linking, and opening a debug session to the Mac is really slow for us. (Some of that is no doubt the 64-bit compiler/linker which is slow.). It takes so much time when targeting the Mac that we do all our development first on 32-bit Windows (same FMX code base) so that the iterative write-compile-debug process isn't painful and we can be more productive. During the development process, after we have some code running on 32-bit FMX Windows, we compile and run the app on the Mac to make sure it works there too. You'll get pretty good after a while of knowing what code of yours is OS dependent.
  9. Tom F

    Delphi 11, migrate or wait

    If you use the Bookmarks add-in in GetIt (formerly from Parnassus), note that it's not yet available.
  10. In Delphi 11 with all patches, when I debug any Delphi app in macOS (11.2.2) with Xcode version 12.5.1, I see this message in the IDE Message window Googling about a bit, it seems that this message is from the LLDB debugger. This line appears in quoted message logs in several RSPs, but the RSPs are on different topics and don't seem to discuss this message itself. The message seems benign, as far as I can tell. Does anyone know anything more about this message?
  11. Tom F

    Delphi 11 November Patch

    The patch was not suggested on the Welcome screen, nor was it promoted on the default GetIt Package Manager screen. I expected it to be. I found the patch under "Patches and Hotfixes" on the GetIt Package Manager screen. I installed it with no errors. However, I LOST ALL OF MY TOOLBAR CUSTOMIZATIONS. (Yes, I'm shouting.) Years ago I gave up using the Delhi Migration Tool because it also failed to preserve my toolbars. I concluded then that Emb is unable or unwilling to fix whatever problem exists with preserving IDE toolbars during installations. It appears that the same problem exists on this update, although it's possible of course that the loss I experienced was due to some other coincidental factor than installing the patch.
  12. Tom F

    Bookmarks dead?

    I don't know the organization very well, but I'd be very surprised if David Millington wasn't a beta tester.
  13. Tom F

    Parnassus Bookmarks for Delphi 11 Alexandria?

    Another vote here for David to get the time to update the plugin. I'm so accustomed to using his great Bookmark tool that it's really frustrating to have to wait. It would be nice if Emb actually staffed the RAD Studio team so that things like this (and so many others) didn't get delayed.
  14. Tom F

    GetIt Server down?

    Edit: GetIt is now working again. In Windows 10, I updated from Sydney to Delphi 11 using the ISO. However, in the IDE, trying to access Tools > GetIt Package Manager results in: The Embarcadero GetIt server could not be reached... Error loading data from the server getit-olympus.embarcadero.com: Forbidden The Welcome screen's "New in GetIt" panel also reports "Error loading data." The GetIt Package Manager runs fine on the same machine in 10.4.23. I ran: GetItCmd.exe -c=useonline as an administrator and got "The command finished with success." But the problem remains. There is a discussion here (https://en.delphipraxis.net/topic/3909-delphi-104-getit-connection-issue/ on a similar problem, but it's for 10.4 and is 11 months old, so I'm hesitant about making any of the changes mentioned there. Any suggestions on fixing this?
  15. I'm sure this has been discussed ad nauseum before, but I haven't been able to find with Google any info on this. I'm using VCL in Sydney with FireDac to SQLite. Is there a way to have a TDBGrid be updated live as I'm dragging the vertical scroll bar, rather than waiting until I release the mouse? I thought maybe Qry.FetchOptions.Mode := fmAll; would help. But it doesn't. I had hoped to find some useful info here, but didnt': https://docwiki.embarcadero.com/RADStudio/Sydney/en/Browsing_Tables_(FireDAC). Nor here: https://docwiki.embarcadero.com/Libraries/Sydney/en/FireDAC.Stan.Option.TFDFetchOptions.CursorKind. I could use a TStringGrid or other component here too, but StringGrids seem to have the same non-live update while vertical scrolling. I don't want to use a third-party component. Any suggestions? TIA
  16. Tom F

    How to have Live vertical scrolling of TDBGrid

    @Uwe Raabe Wow! Amazing! That works beautifully!!!! My grid no longer behaves like it was created in the last century. THANK YOU SO MUCH.
  17. Tom F

    How to have Live vertical scrolling of TDBGrid

    Yes. I had hoped that at least a StringGrid would live update (since it's not attached to a data source.) But, nope. They have the same problem.
  18. Tom F

    How to have Live vertical scrolling of TDBGrid

    Good point, Lars. Yes, it could imply potentially hundreds of queries. But, in my case, I have several thousand records so there's no reason they couldn't fit in RAM and be updated if the source table changes. No?
  19. Tom F

    How to have Live vertical scrolling of TDBGrid

    Good idea. It's hard to imagine it hasn't been asked for for literally decades, so I'm not confident of any action on EMB's part. But, yes, I'll file a feature request. Thanks for the suggestion.
  20. Tom F

    How to have Live vertical scrolling of TDBGrid

    Thus assuring that anyone who wants to create a modern UI has to rely on third-party tools. That's what I was afraid of.
  21. If a user reports an exception like the one below, is there a way to track it down without having shipped an exe built with EurekaLog or MadExcept, etc. My release builds do not generate a .map file, but I can easily rebuild the release to generate one. But, I don't understand how I'd use the 00687017 address once I'd done that to find where in my code the exception occurred. How do I enable the Goto Address menu option in the IDE? Any opinions here on EurekaLog vs MadExcept for distributing with a Win 32 app to help with situations like this in the future?
  22. Can you explain what you mean by that?
×