-
Content Count
3565 -
Joined
-
Last visited
-
Days Won
120
Everything posted by Lars Fosdal
-
combining two characters to a string switches them
Lars Fosdal replied to dummzeuch's topic in RTL and Delphi Object Pascal
Why does your sim code execute in the expected order for me? -
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.
-
BlockRead & BlockWrite - E2010 error
Lars Fosdal replied to Jud's topic in RTL and Delphi Object Pascal
Buffers that work with AssignFile/Readln/Writeln? That is the use I describe. -
BlockRead & BlockWrite - E2010 error
Lars Fosdal replied to Jud's topic in RTL and Delphi Object Pascal
I am open to suggestions for alternatives? -
Delphi11.3 - TRestClient - MSGraphAPI - Error 12029
Lars Fosdal replied to mvanrijnen's topic in Network, Cloud and Web
So much fun with moving parts! -
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
-
Delphi11.3 - TRestClient - MSGraphAPI - Error 12029
Lars Fosdal replied to mvanrijnen's topic in Network, Cloud and Web
When do you get the error? During connect, authentication or later? -
BlockRead & BlockWrite - E2010 error
Lars Fosdal replied to Jud's topic in RTL and Delphi Object Pascal
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 -
What about https://docwiki.embarcadero.com/Libraries/Sydney/en/FMX.Grid.TStringGrid.OnEditingDone ?
-
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.
-
delphi Thread ITask.ExecuteWork not wait until Task finish in mobile devices?
Lars Fosdal replied to bravesofts's topic in Cross-platform
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.- 24 replies
-
- android
- multithreading
-
(and 2 more)
Tagged with:
-
One option is the OnSetEditText event. https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Grids.TCustomDrawGrid.OnSetEditText
-
TFDMongoQuery data type mismatch. Current type [WideString], new type [ADT]
Lars Fosdal replied to plv's topic in Databases
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 -
combining two characters to a string switches them
Lars Fosdal replied to dummzeuch's topic in RTL and Delphi Object Pascal
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; -
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...
-
BlockRead & BlockWrite - E2010 error
Lars Fosdal replied to Jud's topic in RTL and Delphi Object Pascal
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? -
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)
-
That FFFFFFF9 address looks like a nil reference negative offset. Does TBSDictionary.SetElements check the validity of the references?
-
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.
-
W1057 during D7 -> D11 conversion
Lars Fosdal replied to Bart Verbakel's topic in Algorithms, Data Structures and Class Design
@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 -
W1057 during D7 -> D11 conversion
Lars Fosdal replied to Bart Verbakel's topic in Algorithms, Data Structures and Class Design
@Bart Verbakel Does the output file have a specific format, or is it just a text file with multiple lines? -
You could perhaps do a grdDetails.Canvas.FillRect(Rect) before calling TextRect?
-
How to modify the code for $R+
Lars Fosdal replied to dummzeuch's topic in Algorithms, Data Structures and Class Design
Voted for RSP-38847. -
Please support Stack Overflow moderators strike against AI content policy
Lars Fosdal replied to Dalija Prasnikar's topic in Tips / Blogs / Tutorials / Videos
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. -
Please support Stack Overflow moderators strike against AI content policy
Lars Fosdal replied to Dalija Prasnikar's topic in Tips / Blogs / Tutorials / Videos
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.