

FredS
-
Content Count
434 -
Joined
-
Last visited
-
Days Won
4
Posts posted by FredS
-
-
1 hour ago, dummzeuch said:Not impressed.
The Artificial Indexers are good at returning other peoples work, when asked a second time they return more work of yet another person in a completely different style and syntax.
-
1 minute ago, Tommo_194 said:Thanks for the reply, my TFDConnection (TxOptions) is set to AutoCommit=True AutoStart=True AutoStop=True DisconnectAction=xdCommit. If an initial select query is not performed (that returns record count over the rowset size) so no transactions are uncommitted at the time of performing updates or inserts, then all those Updates/inserts are committed and hit the database as they are executed. If however the first thing to happen is to open customer screen (has 125 records - fetch options rowset set to 50) the a transaction for that select query is left active (uncommitted) and then updates/inserts thereafter are not committed as they happen and the uncommitted customer query must first be committed to commit the updates/inserts. I know I could manually commit after doing the customer select query but it seems odd that I only would need to do this on tables with a record count over the rowset size, I also expected the AutoCommit setting to do this for me
Somewhere in all that info in those two links you can see that AutCommit "may" mean CommitRetaining..
Either way, do a Trace and you will know why this happens.. far easier than attempting to find the cause in code.
-
46 minutes ago, Tommo_194 said:Right now I have defaulted the fetch options - mode to fmAll
To be sure add a TRACE to your db (server end), actually pretty simple thing to do.
Check this out: https://stackoverflow.com/questions/77201632/growing-firebird-database-caused-by-commitretaining/77202004
More: https://docwiki.embarcadero.com/InterBase/2020/en/Using_isc_commit_retaining()
You have to call Commit to end a chain of CommitRetaining. If your TConnection uses Rollback as its default action all is lost, change that to RollbackRetaining.
But without Commit and while using Pooling this can get messy because the default query is usually set to ignore non committed data.
-
7 hours ago, DelphiUdIT said:I use WINMD and have never found any bugs since.
But I'm worried that there is something latent or hidden that I am unaware of.
I once sent out an app after a Delphi update and the new GetAce declaration broke it.. they left it that way for years..
The funny part is that others have run into GetAce issues and where told to switch to WinMD 🙂
RSP-44096 was my second attempt to try a newer version of WinMD. Other issues from the prior one have died in the old system.
Anyhow, if you claim to build the API using the M$ supplied db and I can't trust just one single function then I have to assume there are more hidden issues..
-
On 5/18/2025 at 7:20 AM, pyscripter said:So it appears that if a class helper is in scope where a class is defined, it is used unconditionally in all units of a project.
May explain an old bug report I file where adding a second record helper (access to private as a bug fix) lower down in a unit would be ignored.
There may be a workaround for class helpers, in this case you can inherit from the original class helper.
THelper2 = class helper(THelper1) for TMyClass
-
2
-
-
1 hour ago, Mustafa E. Korkmaz said:condition of moving it to a shared folder
Tested it on W10 in Common folders like "Program Files" and it worked well.
-
6 hours ago, Mustafa E. Korkmaz said:RunAsAdminWithPassword
To test this out I used an app which requires elevation.
The error below seems like an awkward way to handle this..
This Errors with "The requested operation requires elevation" when executed from a non elevated process.
More info here: https://stackoverflow.com/questions/4713196/createprocesswithlogon-error-requires-elevation
-
25 minutes ago, bobD said:const internalIPMarker = '192.168.';
..and if your hotel runs an internal network?
-
28 minutes ago, Mustafa E. Korkmaz said:The Elevate package is mentioned in the link Remy sent.
The program is run normally under a non-admin user name.
As far as I know If the program is not run with admin rights, we cannot use the AdjustTokenPrivileges function for SE_ASSIGN_PRIMARY_TOKEN_NAME.The User token must exist else you cannot enable it.
Also Impersonations work on a thread basis, it may not be possible to use the Main Thread for this!
QuoteThe ImpersonateLoggedOnUser function lets the calling thread impersonate the security context of a logged-on user. The user is represented by a token handle.
It may be worth your while to supply us with Process Explorer details as Kas has.
-
12 hours ago, EugeneK said:But this is simply not true because managed records can be used for generics restricted to records in 12.2 and before. I had a lot of code broken because of this change that worked perfectly fine.
Managed records took a long time to fully implement and yes, records with strings where not managed or let's call them pseudo-managed and allowed.
That only leaves the Q why fix or enforce this in: 12.2>12.3..
-
1 hour ago, EugeneK said:why the suddenly change
What I found when originally searching: https://stackoverflow.com/a/64526312
-
3 hours ago, Brandon Staggs said:if LSP would work properly in our large code base. It actually seemed worse
Seemed fine on a smaller section of code base but the same code base in the new 64-bit preview was a disaster..
-
1 hour ago, FabDev said:I get multiple error messages (for most of third-party components)
Same, I've had to recompile several design time packages to solve this.
-
1
-
-
8 hours ago, Kas Ob. said:But my question is Why and How is this useful
This dates back a while, pretty sure some cross certificate (driver signing) issuer supplied this as part of an example on how to sign.a driver.
I only recall because I had to remove it when we stopped cross signing everything.
-
On 10/2/2024 at 12:47 AM, Kas Ob. said:On side note:
I never saw "/ph" and "/nph" being used, and honestly don't know what exactly they do, only can imagine or assume,
If you have any resources on this, i would appreciate sharing !
/ph - Page hash enforcement verifies the signature on each page of the executable file as it loads into memory, this attaches the cross chain certificates
-
9 hours ago, Remy Lebeau said:According to the release announcement, you shouldn't have to reinstall any installed components, only GetIt packages.
The installer overwrites the Environmental Path because it wants to dump everything into the OS Path with each install.
Or at least that is the only thing I had to change fix for the last three updates.
-
1 hour ago, Remy Lebeau said:repeat case Windows.WaitForMultipleObjects(2, @Handles[0], False, Infinite) of WAIT_OBJECT_0: Break; WAIT_OBJECT_0 + 1: CheckSynchronize; else RaiseLastOSError; until False;
And WaitForMultipleObjectsEx allows you to add alertable flags to handle Paint message or all depending on requirement.
-
6 hours ago, Uwe Raabe said:Even that can be handled with initially wiring FormFirstShow with OnShow and inside wiring the regular FormShow.
Not that I am actually promoting this approach, but I am neither a friend of these Run-Once-Booleans cluttering a class declaration.
Which what I ended up doing in a base form. Still that single bit boolean is a quick fix if needed.
-
1 hour ago, pyscripter said:First statement in my FormShow method.
// Do not execute again OnShow := nil;
A boolean value turned out to be better because at times there are things that should be run OnShow v. OnFirstShow..
-
3 minutes ago, Anders Melander said:If you mean the, undocumented, TextScaleFactor setting then no, that doesn't do it.
Well the documentation language is always MAY 'Recreate the Window', so your mileage may vary.
Think some API like SetWindowPos and MoveWindow have that, I know I ran into it while switching desktops via API..
Simpler just to add a FirstShown Property.
-
1 minute ago, Anders Melander said:How?
Changing OS Text size was one I remember.
-
On 10/9/2024 at 7:02 AM, ConstantGardener said:I think the onShow is also triggert if you change the VCL.Skin in your program?
I believe OnShow is also fired when a form is recreated, skin change is one of those, but the OS can trigger it as well.
-
You can make a hash of the IP and include that in the payload of the
IcmpSendEcho2
call.
Then compare those with the return payload and if they match you are done.Else store that info in an array or pass it to a callback to check in another/main thread.
-
1 hour ago, Darian Miller said:No. The systems are synchronized internally and we refer to both but there is no current way of surfacing a link between the old and new systems.
Wasn't another point to finally merge those internal and external issues.. now all external ones have become internal..
RAD Studio 13 is available
in Delphi IDE and APIs
Posted
This annoyance did happen but seem fine in the release.