-
Content Count
2886 -
Joined
-
Last visited
-
Days Won
170
Everything posted by Uwe Raabe
-
Reading large UTF8 encoded file in chunks
Uwe Raabe replied to Clément's topic in RTL and Delphi Object Pascal
Streams don't know about encoding. You might better do with a TStreamReader. In its FillBuffer method there is some code taking care of your concern (look for ExtraByteCount). -
AFAIK that is not available in the Professional version. The feature matrix seems to support that information:
-
Cannot perform this operation on a closed dataset
Uwe Raabe replied to bazzer747's topic in Databases
The message is thrown inside the CheckActive method of TDataSet. I also suggest some debugging session. I guess the reason lies at place you don't expect. -
The right most button in the toolbar has a drop down menu where you can configure the sort order.
-
If the query is a SELECT statement or something that also returns a record set you should use Open instead of Execute. Therefore you should add a Close before changing any parameters.
-
Whatever you implement, you should always measure the performance against the brute force update. If the server were a recent InterBase one, you could make it simple and fast with Change Views, but these are not available with other databases.
-
Why so complicated? Dump DOCS_TABLE and rebuild it from scratch - assuming you actually have access to the server. Otherwise you have to work with the data available in DOCS_TABLE anyway.
-
Why can't I install this monospaced font in Delphi ?
Uwe Raabe replied to A.M. Hoornweg's topic in Delphi IDE and APIs
Can Lazarus make use of any font in the editor? Even the non-monospaced ones? -
That's basically what MMX does, too. Besides the IDE itself (with active CodeInsight) there may as well be other plugins spawning their own parser process. This bothers me for years now. It might get better when LSP is up and working reliably, but that might take a while and will be restricted on newer Delphi versions. Thanks for the tip, though. 👍
-
How Delphi manages mapping data aware control to a data source on a data module
Uwe Raabe replied to Martyn Spencer's topic in Databases
That may be key here. Before looking for global components all components owned by the current one are searched (Keywords: DoFixupReferences, FindNestedComponent). So if your datamodule is owned by the form it should be found first. You may probably even omit the renaming step after loading. -
How Delphi manages mapping data aware control to a data source on a data module
Uwe Raabe replied to Martyn Spencer's topic in Databases
Indeed, it is! The references are resolved in TReader.FixupReferences and are based on component names. To wire the datasource on the datamodule to the controls on the form, the datamodule has to be created before the form loads. As all forms and datamodules register themselves in the Screen.Forms and Screen.Datamodules lists, they are found by simply iterating over these lists in the Vcl.Forms.FindGlobalComponent procedure, which is registered via RegisterFindGlobalComponentProc. You can register your own FindGlobalComponentProc this way, which takes precedence over the internal one (System.Classes.FindGlobalComponents uses a reverse loop). The implementation might be a bit tricky, though. -
👍 Sometimes we need to overcome our habits hindering us.
-
paste into watch list
Uwe Raabe replied to Attila Kovacs's topic in Tips / Blogs / Tutorials / Videos
You have to be inside a debugging session. -
paste into watch list
Uwe Raabe replied to Attila Kovacs's topic in Tips / Blogs / Tutorials / Videos
Dragging works, too. At least here in 10.3.3: -
paste into watch list
Uwe Raabe replied to Attila Kovacs's topic in Tips / Blogs / Tutorials / Videos
I guess we are talking about valid expressions and not arbitrary code. BTW, even arbitrary code can be pasted or dragged into the watch list. Often that doesn't make any sense, though, as most of the time you will see an E2156 Expression too complicated. -
How do you deal with non-critical customer feature requests?
Uwe Raabe replied to Mike Torrettinni's topic in Project Planning and -Management
Often the time spent for low priority tickets would better be used for refactoring the code - even if the only benefit is the developers better understanding the code and ease maintaining it. That might not impact your customers directly, but definitely on the long term. First implementing that low priority ticket instead may as well have the opposite effect. -
F6 Search feature does not work anymore?
Uwe Raabe replied to PeterPanettone's topic in Delphi IDE and APIs
Seems as the IDE Insight toolbar is not part of the toolbars anymore, there is no way to reset it as described. Well, the wuppdi Welcome Page options provide a checkbox for "Include Favorites in IDEInsight". It might help to just disable that one. -
F6 Search feature does not work anymore?
Uwe Raabe replied to PeterPanettone's topic in Delphi IDE and APIs
Perhaps the same as happened to me a while ago? When IDE Insight suddenly stops working… -
TFDBatchMoveSQLWriter and table structure updates
Uwe Raabe replied to Stéphane Wierzbicki's topic in Databases
OK, there is an undocumented option poSkipUnmatchedDestFields which you can set to False (although I don't know what it does). -
TFDBatchMoveSQLWriter and table structure updates
Uwe Raabe replied to Stéphane Wierzbicki's topic in Databases
Can't you just delete the table before executing the batch move? -
I always have the feeling of wasted with that.
-
MMX - Properties - Key bindings - Move Entity Down/Up
-
I guess I have no control over that. You can change the shortcuts for these functions, though.
-
Because a bug-reporting system is literally full of bugs.
-
Open Tools API - Project load/close notification
Uwe Raabe replied to Vincent Parrett's topic in Delphi IDE and APIs
BTW, may need to keep your IOTAProjectFileStorageNotifier implementation, because FileNotification is not fired during a file reload triggered by an external change (f.i. initiated by a VCS action).