Brian Evans
Members-
Content Count
294 -
Joined
-
Last visited
-
Days Won
4
Everything posted by Brian Evans
-
Paradox in FireDAC Delphi 11 Ent 32bit VCL App
Brian Evans replied to Blavatsky's topic in Databases
Those are both runtime error messages. They are also both for the same exception : first from the debugger and then (if you select continue) from your application. If those are your only errors then the answer was already posted. Paradox files can't be opened by both the IDE live form designer AND an application being run in the debugger at the same time. You need to close the FireDAC connection on your datamodule in the IDE and then open in code when the application runs. Or use ConnectedStoredUsage with auRunTime set to false for the FireDac connection and setup a connection at runtime to another paradox file (preferred method - lets you use the live designer features). -
Paradox in FireDAC Delphi 11 Ent 32bit VCL App
Brian Evans replied to Blavatsky's topic in Databases
Since you never said what the compile time errors were not much anybody can do to help. Also since you mention runtime errors most would assume you already solved any fatal compile time errors. -
Detect stack full for recursive routine
Brian Evans replied to david_navigator's topic in RTL and Delphi Object Pascal
Raymond Chen blogged about this a few years ago: Determining approximately how much stack space is available, part 2 - The Old New Thing (microsoft.com) -
For very simple errors crash reports with stack traces can help. For corner cases not often seen in something as large and complex as the Delphi IDE a way to reproduce the problem on demand is usually needed to make any progress. Often the actual coding or logic error is far removed from where the crash occurs.
-
For [RSP-42049] IDE Freezes - Embarcadero Technologies I see nothing but the description so not enough to do anything since they can't reproduce the error both to see what is happening and to verify any solution.
-
The IDE loads designtime packages along with runtime packages before it makes instances of components for the visual form designer. It doesn't do that when compiling. Making sure third party components are installed, reinstalled or updated after installing a new Delphi can help make sure everything is all hooked up and working so they load into the IDE and work without issues in projects that use them. Not sure what the underlying issue is just that I have seen similar errors and re-installing third party components solved it. Guessing it fails to load something but ends up showing an out of bounds error for some reason.
-
Sometimes see this error if third party components are not installed and up to date. For example updating to a new Delphi release but not updating third party components like FastReports but just using what was already installed.
-
A common issue is network paths that are no longer valid. The IDE often tries to access such paths multiple times and doesn't handle waiting on the network timeout very well (it tends to freeze while waiting). If the server name in the path resolves but there is never any response the network timeout can be 10-30 seconds or more each time it tries to access the path. The freeze happening after you do some typing suggest code completion / IDE insight is scanning source paths and one or more of them are not accessible. Systinternals has some utilities like Process Monitor that might help in showing what the IDE is trying to access when the freeze happens.
-
Scoring using the most common words for each language works surprisingly well. Even scoring each line using the 50-100 most common words works most of the time except for very short lines or odd fragments of longer sentences. If the scores are close for different languages a more complex approach can be used for that line. Would work better if you can group lines together in paragraphs or sentences so very short lines would be less of an issue. Even just the 10 most common words works for longer text and a lot of short text English : the be to of and a in that have I French: être avoir je de ne pas le la tu vous German: wie ich seine dass er war für auf sind mit
-
Overwrite wincontrol property only if needed
Brian Evans replied to PizzaProgram's topic in Algorithms, Data Structures and Class Design
Could try overloads of a procedure. From the calling site it does what you want but requires a separate definition for each combination of argument types / number of arguments. Procedures and Functions - Overloading (Delphi) - RAD Studio (embarcadero.com) Added: Looks like not much use here due to not being able to easily get a reference to the property as a property vs as a value. -
Map file = Detailed also produces DRC file
Brian Evans replied to Fr0sT.Brutal's topic in Delphi IDE and APIs
The help also says it is generated if either option is set (detailed map files OR .drc generation); Package Files Created by Compiling - RAD Studio (embarcadero.com) -
64-bit VCL App hangs for an extended period during termination
Brian Evans replied to Attila Kovacs's topic in Delphi IDE and APIs
Can try the various SysInternals tools (Process Monitor and Process Explorer) to see some of what that app is doing. There is also tools like API Monitor to see what Windows API calls (and results) the application is making, Depending on the database and database connection method there are logging tools there as well. Sysinternals Process Utilities - Sysinternals | Microsoft Learn API Monitor: Spy on API Calls and COM Interfaces (Freeware 32-bit and 64-bit Versions!) | rohitab.com A long shot would be checking any code that runs during shutdown for IF's that might be coded wrong for 64bit so try to do things they shouldn't like try and open a database connection to a non-existent database server. -
Store a large number of images in the filesystem or in a DB?
Brian Evans replied to RaelB's topic in Databases
Myself I would use the file system over SQLite. Store extra information with the images as either image metadata or in a file beside the image file. This lets you regenerate the database from the files as needed. Less involved to do incremental backups. A small SQLite database file + changed image files vs a large SQLite database file with images in it. -
Without the error(s) and what you tried it is hard to answer. Would suggest reviewing : Bluetooth permissions | Android Developers to start since you mention permissions issues.
-
It shouldn't be the issue in general as they even have an option to optimize for Windows on ARM so they at least test on that platform. Still wouldn't hurt to try the application without protection to see if the error message is more helpful. The 0xc0000409 suggests a missing or corrupt library / resource / etc which can be something required by something you load making it harder to track down. Optimize for Windows on ARM: The Windows on ARM emulation produces some penalties when emulating specific code or data accesses. This option produces a protection code that is emulated faster on Windows on ARM with just a small reduction in complexity in the protection code.
-
There are a fair number of Delphi grids still in active development. One is Developer Express : VCL Data Grid. It is expensive but has a lot of features and is the one I use. It has a provider mode where it basically handles querying the database for you when doing sorting / filtering in the grid itself which works much better on larger datasets than the more common pull all data locally (which it also supports). It has a bit of learning curve but once figured out you get a lot functionality with little or no code. VCL DataGrid - High Performance Grid for Delphi & C++Builder (devexpress.com) Read question too fast. It does not support FMX. They tested the water with FMX but seems there was not enough demand from their current customers to make it viable.
-
Requested for IDE to support more RAM (vote/discuss if you care)
Brian Evans replied to Tommi Prami's topic in Delphi IDE and APIs
I also think Delphi should transition to a 64 bit IDE so it works better with large projects. As well with high entropy ASLR it could make it easier to find memory bugs in the IDE/plugins/design time components as most addresses would be invalid vs valid when the IDE uses a lot of memory. The breaking change of the IDE not running on 32 bit operating systems is a non-issue at this point. I have no problem with components living / running in the IDE. Perhaps Embarcadero could pay to get a component development guide updated or written along with some helpful tooling / debugging support to help revive wider 3rd party component production. -
With DLL injection it could be anything. Can use something like Sysinternals Process Explorer to see what DLLs are loaded in a process and compare between the two systems. Process Explorer - Sysinternals | Microsoft Learn
-
delphi7 Delphi 7 compatibility with Windows 11?
Brian Evans replied to jsen262's topic in General Help
Windows 11 did change the default font to Segoe UI variable which is supposed to scale better on High-DPI displays than Segoe UI (Vista onward). It changes how some characters look including how tall they are which could lead to some UI issues. -
Create Class at run time with an AncestorClass and a ClassName
Brian Evans replied to Robert Gilland's topic in RTL and Delphi Object Pascal
Find out where the performance is being lost. Dynamically creating a form instance and it's content like that should be quick. I could see it being slow if it was incrementally built in a way that causes endless events for things like resizing, drawing, layout and themes or something else causing cascading methods/events/etc that could be cleaned up. -
Adding macOS directory path crashing IDE (RAD Studio 11.3, Windows 11 ARM, Apple Silicon, Parallels)
Brian Evans replied to Navid Madani's topic in Delphi IDE and APIs
The IDE certainly scans the various library path directories a lot and when it does so the performance probably tanks with a Parallels shared home directory vs a real directory. Same thing happens for invalid paths - the IDE spends a lot of time waiting / working to the point it feels like it has locked up. This applies to a lot of virtual / network / shared directories that end up having a lot of access calls - they will perform very poorly compared to local files on a native file system. -
RegEx: Finding ##0-0## word
Brian Evans replied to Kyle Miller's topic in Algorithms, Data Structures and Class Design
Outside a set $ matches a position not a character and within a set it matches the character $. One option is to use a capture group with |. So this pattern: \d+-\d+(\s|$) -
See this most often when ASCII is automatically cleaned up typographically for printing by doing some conversions like dash to em dash. If this text is put back / interpreted as ASCII bytes the various UTF8 encodings of the typographical replacements end up us multiple characters each like a minus/dash that was converted to em dash then ending up as †". Need to find where the problem is - the data in the PDF itself could already be corrupted this way or it can happen at some other stage including in the PDF -> Text or in how you load the text. Often even if you do interpret the encodings correctly so there is a — (em dash) instead of †" the equivalent replacements might be worthwhile to convert text back to plain ASCII.
-
Offline Help updates available from Embarcadero
Brian Evans replied to DelphiUdIT's topic in Delphi IDE and APIs
Private repo or something you made in your sleep and haven't realized isn't real (yet!)? I can't be the only one who sometimes dreams of writing code and latter wonders where it went. -
What database? Some databases have UNPIVOT to more easily convert columns to rows (the reverse of PIVOT which converts rows to columns).