Jump to content

Attila Kovacs

Members
  • Content Count

    1977
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by Attila Kovacs

  1. Attila Kovacs

    In-App Clipboard

    so why do you comment on something you don't understand?:) Especially with ctrl-c/ctrl-v. Is that all how clipboard works in your opinion?:)
  2. Attila Kovacs

    In-App Clipboard

    Hm, thanks Lars, this will be a good start. Hope I can isolate, not just watch. Lets see!
  3. Attila Kovacs

    In-App Clipboard

    Thanks @Ugochukwu Mmaduekwe, no problem, I just wanted to inform if there is already something for that. I'll check hooking up some windows messages.
  4. Attila Kovacs

    In-App Clipboard

    @Fr0sT.Brutal Not quite. I think my description is also crystal clear. 😉
  5. Attila Kovacs

    MSSQL Busy

    it's a recurring problem most likely no ODBC driver installed
  6. Attila Kovacs

    Bug in Delphi string behavior?

    High five!
  7. Attila Kovacs

    Splash screen doesn't show icon in taskbar

    @Kryvich thx, works as you described. (db login-error-form, prior to any other, including main-form created)
  8. Wow. After so many years of working with Delphi I have just noticed that you can paste code into the watch list 🤪 Or did I install some experts?
  9. What if you create a TBaseBase with protected overloaded methods and public in TBase(TBaseBase) TChild(TBaseBase) or TBase with protecdted overloaded methods and public in TBaseExposed(TBase) and TChild(TBase) ? Or you go from New() to .FromJSON(JSON: string): TMyClass and .FromInteger(I: integer): TMyClass? Or creating records with Implicit operators for string and integer/whatever, then you could write Child := '{somejson}'; or Child := 1; (did I go too far?:)
  10. @aehimself Yep, I missed that everything is public. You can't hide overloaded public methods.
  11. you won't see the 4 overloads from a 2nd unit, only from this one where the classes are declared Ah everything is Public. You can't hide it.
  12. Attila Kovacs

    paste into watch list

    @limelect I've started a 10.2 without anything installed and it works. Give it a try.
  13. if it's a 24bit bitmap you could try with TBitmap's ScanLine
  14. Attila Kovacs

    TFDBatchMoveSQLWriter and table structure updates

    @Stéphane Wierzbicki It's not that easy as it sounds. What if a column name changes? Is it a new column or just the name changed? What if a datatype changes? etc..etc.. Anyway, I can't even imagine what can you do with this kind of data in an SQL Server where columns are occasionally added. Either you should unpivot the excel before importing it or storing the file in a blob.
  15. Attila Kovacs

    IDE title bar anomaly?

    In windows 10, the title bar gets smaller in maximized state as in any other states. Not just the IDE, every application. And this is not the issue. The issue is, somebody decided to put controls onto the title bar. This is such a no-go, antipattern, etc.... every kid knows that. Now you see why.
  16. Attila Kovacs

    Overload methods or use unique names?

    procedure AddTask(aAction: TTaskAction; aTask: TTask); overload; // Execute aTask immeditaly Does it make sense? AddTask(taQueueTaskOnly, lTask); // Execute aTask immediately
  17. Attila Kovacs

    Overload methods or use unique names?

    Strange, if you look at your original example, the proper function names are already there, at the end of each line, in the comments.
  18. Attila Kovacs

    New Third Party section - DelphiHTMLComponents

    Yeah, it would be great.
  19. Except it's kingly slow and the queue will be processed right after the job is finished, also replaying every mouse / keyboard event happened meanwhile the loop was running.
  20. You still have to call Application.Processmessages in your loops. Otherwise you have to hook in a lower level. ( I think, I would have to test to be sure if SetWindowsHookEx would work)
  21. As your blocking task runs in a modal form with an own message loop I would not concern about calling Application.Processmessages. However, with a small addition. I would hook Application.OnMessages (as long as the blocking code runs) to handle only WM_PAINT and the messages sent to the Abort button (if any). (in this example WM_TIMER is included only for animations, and btnStart for not be stuck in down state) Of course this would also prevent the system from a restart, for that, you should watch for other messages too, and handle properly, if its a problem. procedure TfrmDoSomething.MyOnMessage(var Msg: TMsg; var Handled: boolean); begin if (Msg.hwnd = btnStart.Handle) and (Msg.Message = WM_MOUSELEAVE) then else if Msg.hwnd = btnAbort.Handle then else case Msg.Message of WM_PAINT, WM_TIMER: ; else Handled := True; end; end;
  22. Attila Kovacs

    No KeyUp for numpad keys after relese Shift

    I can't see anything broken. SHIFT overrides NumLock and CapsLock. That means, with NumLock ON pressing SHIFT + 0 = pressing insert. Releasing SHIFT means, you are holding the 0 key, releasing 0 means you are releasing the 0 key, and not Insert. That's how windows works.
  23. Attila Kovacs

    Printing Multiple Charts that Span Pages

    Interesting approach, but yes, could be.
  24. Attila Kovacs

    Printing Multiple Charts that Span Pages

    I'm not sure about the 50 meters, but there is also https://www.delphihtmlcomponents.com/reports.html
×