Jump to content

Uwe Raabe

Members
  • Content Count

    532
  • Joined

  • Last visited

  • Days Won

    35

Everything posted by Uwe Raabe

  1. Uwe Raabe

    Refer to Form Control without using the Form unit?

    @Cristian Peța That looks like a perfect candidate for the Visitor explained in this article: The Visitor Pattern – Part 4 avoiding all the is type calls and type casting. The above code would break down to implementing a TTranslator class like this: type TTranslator = class(TVisitor) protected procedure IterateComponents(Instance: TComponent); public procedure VisitAction(Instance: TAction); procedure VisitComponent(Instance: TComponent); procedure VisitControl(Instance: TControl); procedure VisitCustomForm(Instance: TCustomForm); procedure VisitCustomFrame(Instance: TCustomFrame); procedure VisitMenuItem(Instance: TMenuItem); end; procedure TTranslator.IterateComponents(Instance: TComponent); var I: Integer; begin for I := 0 to Instance.ComponentCount - 1 do Visit(Instance.Components[I]); end; procedure TTranslator.VisitAction(Instance: TAction); begin end; procedure TTranslator.VisitComponent(Instance: TComponent); begin IterateComponents(Instance); end; procedure TTranslator.VisitControl(Instance: TControl); begin if Instance.Action = nil then begin end; end; procedure TTranslator.VisitCustomForm(Instance: TCustomForm); begin { translate form parts ... } { translate components } IterateComponents(Instance); end; procedure TTranslator.VisitCustomFrame(Instance: TCustomFrame); begin { translate frame parts ... } { translate components } IterateComponents(Instance); end; procedure TTranslator.VisitMenuItem(Instance: TMenuItem); begin if Instance.Action = nil then begin end; end; Instead of calling TranslateForm(MyForm) you would call Translator.Visit(MyForm)
  2. Uwe Raabe

    MMX 15 (Beta) Available

    @Dokkie Thanks for reporting. I uploaded build 2345 with a fix for that.
  3. Uwe Raabe

    MMX 15 (Beta) Available

    Thanks, now I can reproduce.
  4. Uwe Raabe

    Refer to Form Control without using the Form unit?

    That is not breaking cycles, but actually creating them. Cyclic dependencies in the interface simply don't even compile. Therefore cyclic dependencies are only possible in the implementation section.
  5. Uwe Raabe

    MMX 15 (Beta) Available

    There is a new beta drop (build 2344): https://www.mmx-delphi.de/downloads/download-info/mmx-beta-build/
  6. Uwe Raabe

    MMX 15 (Beta) Available

    As I cannot reproduce here there is probably more to that. I have the MMX Explorer pinned and the OI collapsed in a tab in the same dock host. Pressing F12 switches from Code to Design and pops out the OI, or from Design to Code while the OI collapses again making room for the Explorer. What is your scenario?
  7. Uwe Raabe

    Highlighting properties in the object inspector

    Could it be that those highlighted properties are those to be linked to other components?
  8. They move the code away from the class constructor into the initialization section and revert that in 10.4 for instance.
  9. Uwe Raabe

    MMX 15 (Beta) Available

    Thanks! Seems to have worked then.
  10. Uwe Raabe

    MMX 15 (Beta) Available

    In case standard Paypal works, you can send money to my account (use may name or email address) with a quick note and I will add that to the MMX Icon pool.
  11. You are still using connection pooling with this approach. Connection pooling doesn't pool TFDConnection but TPhysConnections which can be accessed by TFDConnection.ConnectionIntf.
  12. clear FDQuery1.ConnectionName add a TFDConnection set its ConnectionDefName to your need set FDQuery1.Connection to that connection
  13. Uwe Raabe

    Delphi 10.3 Update 2 available

    Isn't that what they call cyclic dependency?
  14. Uwe Raabe

    MMX 15 (Beta) Available

    Took me a while to notice that I must not close the window with the cross button in the title to force that error.
  15. Uwe Raabe

    MMX 15 (Beta) Available

    Can you give me detailed steps for that? A basic test just worked.
  16. Uwe Raabe

    MMX 15 (Beta) Available

    Oh, I hate it when the same thing is done at several places in different ways OK, will look into that. Well, that's strange. Can you send your debug layout file (usually Debug Layout.dst somewhere beneath %APPDATA%) to support@mmx-delphi.de, please? Perhaps there is something inside where MMX is stumbling upon.
  17. Uwe Raabe

    MMX 15 (Beta) Available

    I can see this here, too. As it is only a performance problem I moved it behind the functional problems in the priority list. When its running stable I can make it faster.
  18. I can think of TFieldCache in System.Classes replacing several expensive calls to FieldAddress.
  19. Uwe Raabe

    MMX 15 (Beta) Available

    A new Beta V15.0.0.2343 is available. Make sure to remove a previous V15 beta before installing build 2343 or higher. The new installer is most likely incompatible with the old one
  20. Uwe Raabe

    MMX 15 (Beta) Available

    That's the point! It doesn't matter in which state the IDE is closed. The setting alone controls the visibility of the TOD on startup. Not sure about that one. This is a screenshot of MMX 13.1.1 on XE2: The Light theme on Tokyo is the standard Windows theme, so it uses the OS colors.
  21. Uwe Raabe

    Delphi 10.3 Update 2 available

    But you are on an active Update Subscription, aren't you?
  22. Uwe Raabe

    Using Continue in repeat statement

    That's interesting! I quoted right from the Rio DokWiki, but perhaps the offline help is a bit different. Although, my German offline help is a translation pretty close to the English DokWiki one. Nevertheless there are other places in the docs that support the wording you quoted, so I guess it is probably completely unclear which behavior is actually intended. So the least we can expect from reporting that issue is a documentation consistent with the compiler - however that turns out then.
  23. Uwe Raabe

    Delphi 10.3 Update 2 available

    Yes - and I don't believe it is a restriction of the CE.
  24. Uwe Raabe

    Using Continue in repeat statement

    Continue is supposed to jump to the end of the current loop (re-evaluating the condition) and not to the beginning. Thus the until statement is evaluated which in this case ends the loop. So, yes, it is the way it should be.
×