Jump to content

Uwe Raabe

Members
  • Content Count

    2960
  • Joined

  • Last visited

  • Days Won

    172

Everything posted by Uwe Raabe

  1. I have uploaded a new version, which is identical to that I am working with in the moment. In addition I have attached a map file for the 10.4 instance of this MMX version. Place the map file next to the MMX_BDS21.dll. This will give some more verbose call stack for the MMX part. The problem about empty floating windows is reported from others, too. Currently I have no idea what could be the cause, so we have to investigate further. Fortunately I can somehow force this problem to appear, when I create a layout where the MMX windows are undocked. Starting a debug session with closing those windows and opening them again after debugging actually shows these empty windows. At least that is a point where I can start. Just checked, it works perfectly with 10.3.3 MMX_BDS21.map
  2. Do you get call stacks with the crashes? If so, I would provide a map file to get more information from it.
  3. Uwe Raabe

    Request

    Yeah, that's better. Thanks!
  4. As there must be a reason why it doesn't happen here: Any other non-standard plugins installed?
  5. TMS Components used to have their own copy of Spin.pas.
  6. Weird - I have never seen this. A quick test didn't show this either. I will try on a clean Delphi installation later. Meanwhile, can you try with a clean Debug Layout by deleting the Debug Layout.dst from %APPDATA%\Embarcadero\BDS\21.0\ ?
  7. Uwe Raabe

    Delphi 10.4.1 and the IDE FIx Pack

    The idea was to write all units in all uses clauses with their full names instead of relying on the value in Unit Scope Names.
  8. Uwe Raabe

    Delphi 10.4.1 upgrade

    Not from the IDEs point of view. When a unit is referenced by a package that is not contained in that package, it looks for other installed packages for this unit. In this case it found one in the getit package. That is standard behavior since ages. Try compiling a package that uses VCL.Controls without mentioning anything in the requires clause. Delphi will suggest to add vcl.
  9. Uwe Raabe

    Delphi 10.4.1 upgrade

    Just guessing: You are referencing a unit named "Utils" in your project, which you missed to add to the package project directly.
  10. Uwe Raabe

    Delphi 10.4.1 and the IDE FIx Pack

    Are you able to check without Unit Scope Names?
  11. Uwe Raabe

    TMemo - How to select (highlight) a line of text in code?

    Have you tried MyMemo.HideSelection := False; ?
  12. Uwe Raabe

    Delphi 10.4.1 and the IDE FIx Pack

    Define Large
  13. Uwe Raabe

    FireDAC and pooling random error

    Indeed, that could be misinterpreted easily. Although it is not necessarily a thread, but could as well be collecting data for a report or consolidate data monthly or other areas where multiple DB actions can be grouped. Obviously it is data is processed or retrieved in the background, where multi-threading steps in. Due to the integrated connection pooling, opening and closing a TFDConnection doesn't cost as much as it did in the past (BDE era that is).
  14. Uwe Raabe

    FireDAC and pooling random error

    That is exactly how I do it. The TFDConnection has the proper ConnectionDefName set. Then, inside the same thread, I open the connection, do all the query stuff and close the connection. All the queries linked to that connection are only used inside that same thread.
  15. Uwe Raabe

    general question about embedding docs in an app

    This may as well be the case for the specific browser currently installed at the customers system. That is another point for the component solution, as you definitely know the capabilities.
  16. Uwe Raabe

    FireDAC and pooling random error

    I am with Dmitry here. Having a separate connection per query is definitely wrong. Interestingly I never made use of that TFDQuery.ConnectionName feature. Instead I have a single TFDConnection instance for a specific part of the program where all necessary queries are connected to. Thus all these queries use the same connection and it works perfectly even in multi-threaded situations. I admit that identifying those groups of queries sharing one connection may sometimes be a bit tricky.
  17. Uwe Raabe

    Delphi's code formatter vs. GExperts' code formatter

    I often use this double slash comments at the end of a line to force a line break. const cArr: TArray<string> = [ // 'SELECT *', // 'FROM EMPLOYEE', // 'WHERE EMP_NO > 2', // 'ORDER BY EMP_NO', // '']; (Align line end comments is active here) Without these comments the formatter will produce this: const cArr: TArray<string> = ['SELECT *', 'FROM EMPLOYEE', 'WHERE EMP_NO > 2', 'ORDER BY EMP_NO', ''];
  18. Uwe Raabe

    "Simulating" a com port with data arriving

    I am pretty fine with Advanced Virtual Com Port
  19. Uwe Raabe

    Request

    Can you explain a bit more, please?
  20. Uwe Raabe

    Changing the WordWrap property of a TMemo runtime

    Seems legit. If you have a horizontal scroll bar there is no need for wrapping anything.
  21. Uwe Raabe

    TControl.SetParent

    You are not alone: Parented controls with free notifications aren't scaled Frame with Assigned PopupMenu is wrong Displayed on high DPI A scaled form gets resized to design time ClientWidth/ClientHeight when embeded in a parent form
  22. That's an important point. There are situations where your program is not the only one accessing the data. This doesn't mean that it could not be done different, but sometimes these other systems are out of your reach.
  23. Not sure if it fits your needs, but nevertheless this might be an interesting read for you (unless you have already done so): Dataset Enumerator Reloaded And here ist the corresponding rep: DataSetEnumerator
  24. Yes, there are. One can use this fact to distinguish between UTF8 and ANSI encoding. An ANSI encoded text file can throw an exception when read as UTF8 if it contains certain characters. UTF8 character sequences start with a specific byte range followed by one to three bytes from a different range. Simply exchanging the first two bytes of a UTF8 sequence invalidates the file.
×