Brian Evans
Members-
Content Count
371 -
Joined
-
Last visited
-
Days Won
4
Brian Evans last won the day on February 13
Brian Evans had the most liked content!
Community Reputation
109 ExcellentTechnical Information
-
Delphi-Version
Delphi 12 Athens
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
The Snipping Tool in Windows 11 does video in addition to static screen grabs. After triggering (SHIFT+Win+S) make sure video is selected, select the screen region you want to record then start recording.
-
Delphi IDE and application created crashes with Mouse click on TActionMainMenuBar
Brian Evans replied to srikanthch's topic in VCL
Isn't SPHTMLHelp an ancient third-party library? If I remember it added support for opening CHM help files before Delphi itself did over a decade ago. -
It can generate a text file per exception that contains much more than just the stack trace. You can then do whatever you want with the text file. The log viewer tool they provide can display the contents of that text file in an easy-to-read way - nicely formatted and split up. ref: https://www.eurekalog.com/help/eurekalog/bug_report_page.php
-
Could just be logging the stacks of exceptions that are handled and logging them as part of seeing what errors users hit most often. Of limited use but have seen it done - like graying out invalid choices + hint of why on mouse over or click instead of letting the user select an item and then producing an error dialog/message latter on that users are hitting far too often.
-
In recent releases deleting the plugin content from the layout is another approach. Use the Edit Layout at the bottom left of the Welcome page. Leaves a welcome page that loads fast and has a nice color gradient that closes when you open a project. I find the "no tabs yet" thing it puts in the middle of blank space when nothing is open more distracting than the empty welcome page with gradient.
-
Type inference in assignment but not comparison??
Brian Evans replied to PiedSoftware's topic in RTL and Delphi Object Pascal
From my understanding: expressions always evaluate the same and it is the assignment operation doing type conversions when they are straightforward. That works for assignment because there is a variable on the left of a specific type and not an expression and they are never reversed. A comparison has an expression on both sides and can be reversed so type conversion on corner cases could mean A = B and B = A give different results. Better to have the programmer explicitly make each expression evaluate to the same type or at least be stricter than what happens on assignment. -
Postgres limitation - no multiple statements in a prepared query (queries must be prepared if they use parameters). Note a single statement runs in a transaction anyway so the begin;/end; are not needed in the example. Most use stored procedures in the database when there is a need to execute multiple statements based off passed in parameters. Some use DO and pass in the contents of a stored procedure body as a string to run as an anonymous code block but then you can't pass in any parameters.
- 13 replies
-
- firedac
- postgresql
-
(and 1 more)
Tagged with:
-
In Postgres BEGIN needs to be followed by a semicolon. It is equivalent to some other databases START TRANSACTION. It should be paired with a COMMIT and not END. Ref: PostgreSQL: Documentation: 17: 3.4. Transactions Single statements usually run as a transaction anyway - either the whole statement executes or none of it does. So, for a single statement your SQL would just be: update mytable set testno = testno + :increment where id = 1;
- 13 replies
-
- firedac
- postgresql
-
(and 1 more)
Tagged with:
-
Parameters are not processed by Delphi inside string constants in SQL queries. You are using Dollar-Quoted String Constants (strings delimited by starting and ending with $$). do $$ string constant that is executed as an anonymous code block $$ Ref: PostgreSQL: Documentation: 17: 4.1. Lexical Structure
- 13 replies
-
- firedac
- postgresql
-
(and 1 more)
Tagged with:
-
FireDAC Exception handling without driver info
Brian Evans replied to NamoRamana's topic in Databases
That message comes from the underlying database so knowing which database is helpful in interpreting it. Seems counterproductive to be removing context from error messages. -
chatgpt can convert 32bit asm into 64bit
Brian Evans replied to RDP1974's topic in RTL and Delphi Object Pascal
Note it is a 64-bit version of a 32-bit move function not a 64-bit move function. A 64-bit move function would have Count as: NativeInt and other changes to allow moves over the limits of a 32-bit integer. -
Starting with Delphi 12 they are disabled by default. What's New - RAD Studio - Disabling Floating-Point Exceptions on All Platforms
-
Putting Delphi Application inside web page
Brian Evans replied to Robert Gilland's topic in Delphi Third-Party
That has always annoyed me - step one of looking for products/solutions is to survey what is out there and compile a list with basic information. I usually just ignore/skip anything where the information is hard to come by as I have been burned too many times. Far too many companies' think their product is good for X when feature wise that would be true, but price or licensing terms make it not. I want to know that from the start not after wasting hours evaluating a product and dealing with sales calls. Most of the time 'contact sales' means the product has runtime fees, weird tiered pricing or terms making it unsuitable for a lot of scenarios. -
Implementing "desktops" using MDI, "broken" in D12
Brian Evans replied to Dave Nottage's topic in VCL
Could free the forms instead of hiding. Has other issues like losing state but they can be overcome. Adding saving/loading form state is useful between program runs as well so work can be resumed quicker. MDIIssue2.zip -
General question for "Edit.Text's": Why is WordWrap not active bydefault?
Brian Evans replied to Rollo62's topic in Delphi IDE and APIs
After re-reading the post a couple of times: The poster is talking about the text on buttons in FMX.