Jump to content

Lars Fosdal

Administrators
  • Content Count

    3565
  • Joined

  • Last visited

  • Days Won

    120

Everything posted by Lars Fosdal

  1. Why does your sim code execute in the expected order for me?
  2. Lars Fosdal

    Strange debug output

    We used OutputDebugString for a while, but found that if you had a large number of logged outputs from multiple threads, it would occasionally drop the output. We ended up changing the way we logged by writing debug data in text format to a threadsafe ring buffer and have a background thread burst the logged data to a textfile periodically, and that would transition to a new file every midnight.
  3. Buffers that work with AssignFile/Readln/Writeln? That is the use I describe.
  4. I am open to suggestions for alternatives?
  5. So much fun with moving parts!
  6. Lars Fosdal

    Access TStringGrid InplaceEditor

    Doesn't the grid get OnKeyDown events once you are in the cell editor? https://docwiki.embarcadero.com/Libraries/Sydney/en/FMX.Controls.TControl.OnKeyDown
  7. When do you get the error? During connect, authentication or later?
  8. I use BlockRead/BlockWrite for a text file device driver that really speeds up writing and reading a text file, since it allows me to configure much larger buffers. https://pastebin.com/u/LarsFosdal/1/ns7ET60N
  9. Lars Fosdal

    Access TStringGrid InplaceEditor

    What about https://docwiki.embarcadero.com/Libraries/Sydney/en/FMX.Grid.TStringGrid.OnEditingDone ?
  10. Lars Fosdal

    Access TStringGrid InplaceEditor

    Argh, Mike - my bad. I was speaking from a VCL point of view - not noticing that you posted in the FMX section. Not the first time I've made that mistake.
  11. Threads are about parallel/background work, but after invoking a task, you could in theory use ITask.Wait to stop the main thread while waiting for it to complete - but then you might as well execute the code from the main thread instead of creating other threads. Also, if the thread gets stuck, your main thread would be stuck. It is better to use parallel threads and in the main thread receive signal events for when the background thread succeeds/completes/fails. Threads are not hard when you understand them and the best practices around the use of them - but gaining that knowledge can be a challenge. Read the theory, study the examples, and try it out.
  12. Lars Fosdal

    Access TStringGrid InplaceEditor

    One option is the OnSetEditText event. https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Grids.TCustomDrawGrid.OnSetEditText
  13. The JSON looks non-standard. JsonLint.com doesn't like it either. It doesn't know how to deal with ObjectId(); Can it be that it is BSON? Ref. https://stackoverflow.com/questions/16586180/typeerror-objectid-is-not-json-serializable
  14. I do a lot of string manipulation, but I have not seen this effect yet. Weird. I would definitively have assumed that the concatenation would go left to right on evaluation of the functions. Would this change the outcome? s := ''; s := s + ReadChar + ReadChar;
  15. Lars Fosdal

    Replacement for TBits?

    Intel's blurb: "Under the right circumstances, the technology lets CPU cores effectively do two things at once." - but it doesn't really outline the circumstances. https://en.wikipedia.org/wiki/Hyper-threading has some interesting observations, making me wonder if I actually would be better off by disabling Hyper-Threading...
  16. Searching the 11.x source: So - there is some compiler magic involved somewhere with the BlockWrite proc. In System.pas, below line 3000, you find the comment: { Procedures and functions that need compiler magic } and a long list of funcs and procs. _BlockWrite is in that section. Map file says 0001:0000BE10 System.@BlockWrite Is it a pointer to the procedure which is set up somewhere by the compiler/RTL?
  17. Lars Fosdal

    Can one run delphi (32 bit) apps on Windows 11 ARM?

    32-bit and 64-bit Windows Apps Runs fine in Windows for ARM under Parallells on my MacBook Pro M1 (macOS Ventura 13.4.x)
  18. Lars Fosdal

    Access violation in library code

    That FFFFFFF9 address looks like a nil reference negative offset. Does TBSDictionary.SetElements check the validity of the references?
  19. Lars Fosdal

    SBOM tool for Delphi

    I would have said that this is a manual task, as components or libaries might not be easily identifiable. In theory, you could write something that scanned the source files and picked out copyright messages, but the list would probably be ripe with duplicates, and have many missing entries. On the other hand - if the scanning could be done out-of-project and connect units to a vendor once and for all and allow for manual tidying, then it would basically be about scanning the map file post build, and create and link a resource text (or JSON or XML) with the SBOM info. Sounds like a development opportunity for a creative person with time to spare.
  20. @Bart Verbakel Is it a file used only by your application(s) - i.e. are you in control of production and consumption of the file? In that case, you have the alternative to modernize the file structure to f.x. JSON to support unicode and additional/optional fields. If you stay on your Record format, you need to do explicit conversions between your shortstrings and other strings in the system. MessageDlg( String( F1Pool.Deelnemer[High(F1Pool.Deelnemer)].Teamnaam ) + ' succesfully added!', mtInformation, [mbOk], 0); // Should silence the W1057
  21. @Bart Verbakel Does the output file have a specific format, or is it just a text file with multiple lines?
  22. Lars Fosdal

    Stringgrid cell color

    You could perhaps do a grdDetails.Canvas.FillRect(Rect) before calling TextRect?
  23. I participated in an IT event this winter, where gender discrimination was one of many sub-topics, and there was many real-life examples by women who had experienced it. Gender discrimination still is a real issue - particularly for the young women starting their careers.
  24. Yet, women are fighter pilots, front line soldiers, astronauts, mountain climbers, race car drivers, plumbers, electricians, engineers, and what not. IMO, equality is about more than comparing physical traits. It is about mentality, attitude and equal opportunities. I think it is good for any industry to have a balanced work force, hence we need to find out why there are less female programmers, and not bury our heads in the sand, like SO did with their yearly polls.
×