-
Content Count
3483 -
Joined
-
Last visited
-
Days Won
114
Everything posted by Lars Fosdal
-
Any plans to add Android/iOS support in the future?
-
We use FastReports for simple reports, and it has been somewhat challenging due to quirky behaviours such as not liking to be used in parallell threads. Since we didn't need client tools for report design, but only crafted the reports in the development phase, it was chosen due to being available out of the box. We also use a server version of Crystal Reports that is fed through database queue tables and driven by a standalone integration to produce labelling and documents.
-
combining two characters to a string switches them
Lars Fosdal replied to dummzeuch's topic in RTL and Delphi Object Pascal
Delphi 11.3 28.0.47991.2819 (Update 3 + Patch 1) Off-topic: Ctrl+O + Ctrl+O behaves weirdly, IMO. It inserts at top of file instead of at cursor, and it doesn't respect existing options like {$APPTYPE CONSOLE} -
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?