Jump to content

Lars Fosdal

Administrators
  • Content Count

    3303
  • Joined

  • Last visited

  • Days Won

    110

Everything posted by Lars Fosdal

  1. A couple of observations: 1. TPacketLength = Word; The first thing you write to the stream is the Packet length as a word. PPacketLength(@inData[0])^ := datalen; - but datalen is an integer. TBytes can be larger than 64K, so there are some safeguards missing. 2. If you are transmitting to a different byte order system, the PacketLength needs to be marshalled/demarshalled.
  2. Lars Fosdal

    ICS V8.66 announced

    We switched from SVN to git (on GitHub) this year. I really do not miss SVN at all, which sort of surprises me since I've used SVN for years. We use the UI from GitKraken with GitFlow, which makes it very trivial to make contributions. It integrates with our Jira, so it is trivial to create a branch for a specific issue on your to-do list. The best part is the ability to quickly switch between multiple local branches, and easily see who made what changes to a file. Browsing a Delphi git repository with VS Code, GitLens and OmniPascal gives amazing clarity.
  3. Lars Fosdal

    Binary size, how-to make it smaller?

    On the other hand - I use RTTI quite a bit.
  4. Any chance of adding IBM MQ to the list of MQs? See also: https://developer.ibm.com/articles/mq-downloads/
  5. Lars Fosdal

    Need suggestion on developing a custom component

    TMS has some pretty powerful and flexible grids - and you can have controls in grid cells, but for something like you suggest, you'd have to do some creative programming. https://www.tmssoftware.com/site/tmsvcluipack.asp https://www.tmssoftware.com/site/advgrid.asp What you could do, in theory, is to use several TGridPanels and splitters - but yeah - it depends on the functionality you require to be grid-like.
  6. Lars Fosdal

    Build / Output messages filtering plugin

    Just jotting down what my brain generates - what if... - Each hint warning could display the last git username that touched the file - If the file is changed but not committed, it would be your name - A filter could be added to highlight messages for specific username(s) and/or unit names - or hide messages not matching the filter
  7. Lars Fosdal

    Return an array from a function??

    You could also do something like this, which gives you the results converted to actual types instead of variants.
  8. Lars Fosdal

    Build / Output messages filtering plugin

    Not that I know of. I am on my team like a hawk to have them clean up code that generates hints and warnings before they commit, so usually what I see is mine. But - it could be useful. Perhaps @dummzeuch has something up his sleeve?
  9. Lars Fosdal

    Build / Output messages filtering plugin

    When you say messages - do you mean hints and warnings? (IMO, Hints and warnings are bugs waiting to happen and needs to be fixed on sight)
  10. Such systems usually requires large amounts of updates because of adaptations to national regulations, rates, tax law and other legislation that can be changed several times per year. I guess that is not the case for BS1.
  11. Lars Fosdal

    take a look to this REST API Server

    Still wondering WHY I should spend time looking at it?
  12. Lars Fosdal

    Caching oddity

    How do you open the files with regards to sharing?
  13. Lars Fosdal

    Binary size, how-to make it smaller?

    Ok, that explains it until the next time I've forgotten about it. Thanks, @Dalija Prasnikar 🙂
  14. Lars Fosdal

    Binary size, how-to make it smaller?

    I agree. They are the bread and butter of most apps. Still, it makes you wonder why the linker cannot eliminate more of the unused stuff.
  15. Lars Fosdal

    Apache Module with TDataSet Needs Wait Cursor

    Can it be reproduced in a miniature example, using only direct FireDAC calls? Are you sure there is no exception handling or error eating inside your library routines?
  16. Lars Fosdal

    Binary size, how-to make it smaller?

    Turn off RTTI if you can.
  17. Lars Fosdal

    Apache Module with TDataSet Needs Wait Cursor

    If you explicitly - without conditions - use the FireDAC.ConsoleUI.Wait unit in the project: Can you describe any errors you may get? If no errors - can you identify which call that fail? The connect or the query?
  18. Lars Fosdal

    Apache Module with TDataSet Needs Wait Cursor

    What happens if you include the console version unconditionally?
  19. Lars Fosdal

    Apache Module with TDataSet Needs Wait Cursor

    Have you tried adding this to your uses clause? {$ifdef Console} FireDAC.ConsoleUI.Wait, {$else} FireDAC.FMXUI.Wait, FireDAC.Comp.UI, {$endif}
  20. My workaround for generic classes is a non-generic base class. The challenge is always how to wrap stuff in such a way that you can get done what you need get done with the methods and properties defined in the abstract base class. I.e. Keep the T stuff out of the methods as far as possible. Rough example... type TxQuery = class abstract protected function GetSQL: TStrings; virtual; abstract; function GetDataSet: TDataSet; virtual; abstract; public constructor Create; virtual; // doesn't really need to do anything but exist procedure Execute; virtual; abstract; property SQL: TStrings read GetSQL; property DataSet: TDataSet read GetDataSet; end; TxQuery<T: TFDDataSet> = class(TxQuery) private FiQuery: T; protected // overrides property iQuery: T read FiQuery write FiQuery; public // overrides constructor Create; override; // initialize the T stuff end; TxQueryClass = class of TxQuery;
  21. Lars Fosdal

    OmniPascal: Auto-Implementation of methods not working

    Perhaps file an issue here: https://bitbucket.org/Wosi/omnipascalissues/issues
  22. BTW: Did you try CopyFileEx? https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-copyfileexa
  23. DoCopy calls WinAPI.Windows function CopyFile; external kernelbase name 'CopyFileW'; So, your guess is good as mine...
  24. The silent flag for the shell copy makes it run nicely in services and console apps - but yeah... no progress callback. LOL at the last comment 😄
×