Brian Evans
-
Content Count
297 -
Joined
-
Last visited
-
Days Won
4
Posts posted by Brian Evans
-
-
Null parameters and COALESCE () in the UDPATE statement would be one way.
SQL.Text :='UPDATE persons SET name=COALESCE(:NAME,name), email=COALESCE(:EMAIL,email) WHERE id=:ID';
- 3
-
Far as I can tell something causes it to screw up line counting so the line # in the editor and line # the parser sees the code at differ causing it to act very strangely.
No luck trying to create a file that reliably reproduces the issue yet.
-
Works fine here as well - updated KSVC in Delphi 12 patch 1 without issues.
There are dialogs for this will require a restart of the IDE and restart the IDE that some packages put up during installation.
-
More information would help - lots of places such code could hide. One place would be in FormCanResize but it could be elsewhere - likely includes width in some form so search for that.
procedure TForm1.FormCanResize(Sender: TObject; var NewWidth, NewHeight: Integer; var Resize: Boolean); begin NewWidth := (Sender as Tform).Width; end;
-
Can try Process Monitor - Sysinternals | Microsoft Learn and check what is accessing it as you compile / run / close. Something must be holding something open.
-
Design time components, the database explorer and the running application all want to open the database. Only one at a time can succeed for a non-shareable file-based database.
I usually do most development against the client/server version of such a database so I can examine the data, develop queries etc against the live database the application is using with a tool like Database Workbench. For deployment I make the connections inactive in the IDE and bring them up in code to use the embedded database engine.
-
Works fine here - it does tend to just bring up IDE help if the cursor is not on a type/unit with direct help available. So Form1 / TForm1 brings up Code Editor help while on Form it brings up Vcl.Forms.TForm help.
-
The service pack doesn't include the DLL. The universal C runtime does which for Server 2008 R2 needs to have Windows Server 2008 R2 Service Pack 1 (SP1) installed.
Update for Universal C Runtime in Windows - Microsoft Support
Also Windows Server 2008 and Windows Server 2008 R2 are different operating systems analogous to Windows Vista and Windows 7 on the desktop. Service packs and updates for each are not interchangeable.
There is also an App-local deployment of the Universal CRT available (so just DLLs in your executable directory). Described/mentioned in the articles linked below.
Introducing the Universal CRT - C++ Team Blog (microsoft.com)
-
10 hours ago, DelphiUdIT said:I don't have any source that I can report, only chats and some information from unofficial sources. But the optional WOW64 in Windows Server configuration is surely a start.
Of course, like @Brian Evans said this path is not clear.
WOW64 was an optional component starting with Windows Server 2008 R2 Server Core which came out over 14 years ago.
-
Postman is a popular tool to call and test REST APIs during development. It is not specific to Delphi. Once you know the calls and responses from the APIs you can work on accessing them in Delphi.
To see the underlying REST API used by the web page use developer mode/tools in your browser. Refresh the page with developer tools open and check the network tab to see the requests and responses made.
-
5 hours ago, DelphiUdIT said:As the latest rumor, more or less accredited, it seems that Microsoft will abandon WOW64 technology (emulation for 32-bit applications). The transition will be gradual but inexorable. It has already started with Servers, where WOW64 is optional.
The chance of desktop or server support for 32-bit Windows applications being abandoned is close to zero. Support for running 16-bit Win16 applications on the desktop only went away with Windows 11 and is currently still supported under Windows 10 32-bit edition. Any attempt will mean delayed Windows upgrades until it is restored.
I saw the same thing with support for Xenix 286 binaries in SCO OpenServer- they kept dropping support only to add it back to capture customers who wanted a new server + OS to run old line of bussiness applications. Such applications can have incredibly long lives and healthy budgets to keep them running on supported servers by upgrading hardware and operating systems. Windows has accumulated many such applications.
- 1
-
Too much effort required to reproduce. That leaves just others who might have seen the exact issue already - a smaller group than those who could debug or investigate it if given an easy to run and debug reproduction of the issue.
-
Hard to recommended anything with zero requirements listed.
It is available as a service if you have the money from providers like Automatic License Plate Recognition - High Accuracy ALPR (platerecognizer.com).
- 1
-
Microsoft OneNote is a decent clipping / note taking application if you are already used to Office applications. It is free to download and use with some premium features requiring a Microsoft 365 subscription.
-
Note those slashes are backwards for UNC which uses \\server\drive\path .
-
The higher editions of Delphi include source for the various FireDac adapters/drivers. Most are for SQL databases of some form. Not sure how easy it would be to match up with FileMan/Mumps/M which is not relational and doesn't always include enough metadata for a driver to figure things out without more help.
A third-party developer (CDATA) made a lot of FireDac connectors for various things (https://www.cdata.com/firedac/) but nothing for FileMan/Mumps/M. That hints it may not be a small project.
-
Would help if the poster mentioned what the leak was.
-
Common to relax or remove timeouts when debugging, especially any that are short. It does make an application behave differently when debugging but at least you can use break points and step through code. This includes server-side timeouts - the server needs to be more patient to give you a chance to step through code.
if IsDebuggerPresent then .........
Odd it behaves so badly, usually you just see problems later on.
-
Usually use something like Process Monitor - Sysinternals | Microsoft Learn to see what it is doing / trying to do.
- 1
-
Embarcadero doesn't do clustering - just look at Interbase and RAD Server. The result is poor availability of services. While a bit complex Windows Server Failover Clustering with a cluster aware database provides solid availability during both maintence and hardware failures.
This downtime might be a needed dose of reality - claiming "Enterprise" services with such poor availability is not a good look.
- 1
-
Looks like some things are starting to come back online.
QA portal working.
Registered Products Portal working.
-
Look at and compare the call stacks between the multiple hits of the breakpoint.
- 1
-
7 minutes ago, Ian Branch said:Which I think will do the job, but I can't find out where/how PW_CLIENTONLY is declared/defined.
What unit do I need to add???
Regards & TIA,
Ian
It's a Windows API call.
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-printwindow
-
8 hours ago, JonRobertson said:I wouldn't say FireDAC succeeded ADO/dbGo. I would agree that FireDAC succeeded dbExpress.
As far as I know, FireDAC uses SQL Native Client, which Microsoft deprecated, I think in 2019. Microsoft no longer updates it or supports it and Native Client is not fully compatible with newer versions of SQL Server. There is a QC to add support for MSOLEDBSQL to FireDAC, but that QC was closed.
Microsoft has muddied the waters regarding database drivers over the years. Firedac has no problems using the latest ODBC Driver 18 for SQL Server which is currently one of the two methods they suggest going forward.
Driver history for Microsoft SQL Server - SQL Server | Microsoft Learn
Download ODBC Driver for SQL Server - ODBC Driver for SQL Server | Microsoft Learn
Error : constant expression violates subrange bounds
in RTL and Delphi Object Pascal
Posted · Edited by Brian Evans
L
ooks like different definitions of CW_USEDEFAULT, it can happen for global constants. Add a unit prefix to specify a specific one on the line giving the error.See : Constant with same name in different Unit in Delphi - Stack Overflow