Brian Evans
Members-
Content Count
297 -
Joined
-
Last visited
-
Days Won
4
Everything posted by Brian Evans
-
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).
-
I worry about the maintenance of applications using some of these cloud services. Sourcing a replacement library/component/backend between major releases or updates is a walk in the park compared to having to replace a cloud service possibly live or at least on the cloud service provider's schedule vs your own.
-
By default the IDE keeps a history of saves. What is showing up there? (bottom right of edit: History. should list revision contexts including file, buffer and any history files). I know sometimes the same file accessed with different paths in different editors can end up with issues.
-
MacOS and MySQL 8.0 Connector not working with Firedac
Brian Evans replied to Magno's topic in Databases
The libmysqlclient.dylib file is included with the MySQL server install in the lib directory. -
Delphi 11.3 unusable due to full-build-requiring onslaught of F2084 "Internal Compiler Errors" from minor source modifications
Brian Evans replied to PaulM117's topic in Delphi IDE and APIs
Get another developer to clone/copy one of your projects and try working on it. Have them copy / duplicate NOTHING of your system/network/software/development configuration. Something sounds off with your system/configuration/network/etc. Long IDE freezes can be as simple as dead paths being searched - Windows can take a long time to timeout checking a network drive where the other side doesn't respond at all for example and Delphi tends to re-search the same paths often making it take even longer. The worst would be an intermittently accessible path / storage location which would cause all sorts of hard to discern problems. Even bad sleep/resume of a storage device can cause problems or delays. For all the internal errors - if they happen reliably you might be able to narrow it down to small test case(s) - they usually do get fixed if there is a reliable way to reproduce both so they can see the error and test a fix. -
firedac FireDAC MSSQL behaviour changed between 11.1 and 11.3
Brian Evans replied to Lars Fosdal's topic in Databases
Not really a Delphi issue. It is from breaking changes in Microsoft SQL Server ODBC driver 18. Validating the certificate is just part of what happens when encrypt it set to yes which is now the default. Connection strings or certificate configurations need to be updated. Changes BREAKING CHANGE - Default Encrypt to Yes/Mandatory. Ref: ODBC Driver 18.0 for SQL Server Released - Microsoft Community Hub -
Application fail to start on android 10-11-12-13 IMEI
Brian Evans replied to Maher Tannous's topic in FMX
There is a set of licensing APIs (Licensing Reference | Android Developers). One optional part looks like it might be useful: DeviceLimiter Interface that you implement if you want to restrict use of an application to a specific device. Called from LicenseValidator. Implementing DeviceLimiter is not recommended for most applications because it requires a backend server and may cause the user to lose access to licensed applications, unless designed with care. -
I usually turn off the welcome page or remove all the plugins from being displayed (in the latest Delphi releases). The content has little value in the most recent releases and zero value in older versions where there is never anything "new" anyway. Likely an Internet connection issue or the Getit server is overloaded / not responding quick enough.
-
D11 Update 1 + FireDAC + ODBC to Sage returning wrong data!
Brian Evans replied to Jasonjac2's topic in Databases
Might want to clear out the DataSetProvider and ClientDataSet in case they are interfering somehow - they are still hooked up to the FDQuery in the file attached to your second message, -
D11 Update 1 + FireDAC + ODBC to Sage returning wrong data!
Brian Evans replied to Jasonjac2's topic in Databases
Odd that each value is off by a factor of around -222. The common factor seems to suggest a currency conversion but the flipped sign doesn't. -
How to register a shell property sheet for a single file type?
Brian Evans replied to FPiette's topic in Windows API
Putting keys in HKEY_CLASSES_ROOT (HKCR) from a program has a bunch of extra caveats/oddities (HKEY_CLASSES_ROOT Key - Win32 apps | Microsoft Learn). Would suggest putting keys directly in the appropriate spots in HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER. -
What would be the best approach for accessing a large number of files stored on a single machine from multiple servers?
Brian Evans replied to ioan's topic in General Help
Thousands of files should be nothing. Investigate the unresponsiveness. Would not hurt to read some on performance tuning SMB file servers (ex. Performance Tuning for SMB File Servers | Microsoft Learn) as well as server tuning. One common problem is a lot of files in one directory with similar names with 8.3 name generation still on. Turning off the generation of 8.3 filenames can have a dramatic effect in those cases. -
Performance wise there is some outright bad codegen and basic features that could be done without too much work (the proverbial low hanging fruit) in Delphi. As the decades go by and other environments push the state of the art staying so far behind the pack is getting more and more a negative. Would be nice to see some improvements in this area. Adding some optional passes for codegen optimization would help a lot - easy to bypass if there are problems or faster compilation is desired.
-
Apache Derby only provides JDBC clients / Java access. You could make use of an ODBC to JDBC bridge product like easysoft's ODBC-JDBC Gateway (https://www.easysoft.com/products/data_access/odbc_jdbc_gateway). Then in Delphi use ADO or FireDac to access the ODBC datasource.
-
Note that you don't need a DSN - you can pass all the required connection parameters / information to the ODBC Driver Manager in the in the ADO connection string itself. Using a DSN just provides an extra level of indirection that can be useful in some cases.
-
software research - looking for Delphi5 logging tool SilentDD
Brian Evans replied to David Dyck's topic in General Help
Generally if the EXE properties don't have some information like company and product names along with a date or two it was probably an internal tool. -
The software industry has moved to the Web, why?
Brian Evans replied to Skrim's topic in General Help
On the iPhone web apps were considered subpar and replaced with native applications as soon as Apple allowed it. Web apps have some advantages but are not the be all and end all of application development. -
Talking about it might help somebody make a reliable way to reproduce it. Embarcadero does manage to fix issues with reliable test cases - last one I commented on and managed to find a way to reproduce did get fixed for example and it had been around for years ([RSP-34111] Editor leaves dangling vertical scrollbar behind - Embarcadero Technologies).
-
From Delphi+PostgresDAC (PostgresSQL) To Delphi+FireDAC (PostgresSQL)
Brian Evans replied to Squamis's topic in Databases
It does an INSERT using parameters with the third parameter :items being an array parameter it puts four values in for each of the five INSERTS it does (the for loop). -
From Delphi+PostgresDAC (PostgresSQL) To Delphi+FireDAC (PostgresSQL)
Brian Evans replied to Squamis's topic in Databases
There is an example of using array parameters for PostgreSQL. Basically the ArrayType property is set to atTable and the method of assigning the values is like other arrays. FireDAC.PostgreSQL Arrays Sample - RAD Studio Code Examples (embarcadero.com) -
The wrap around address and the size of the wrap around looks like an attempt was made to access the virtual method table of a freed object that has been set to nil. A guess based on the offset is it tried to call/access: Pointer to entry point of SafecallException method (or nil) vmtSafeCallException (ref: Internal Data Formats (Delphi) - RAD Studio (embarcadero.com)). Like a bad destroy/cleanup order that resulted in something getting freed twice.
-
It was accurate - MySQL stopped providing Windows 32 bit client libraries / connectors with the 8.0 release. They eventually back tracked and newer releases of 8.0.x have some 32 bit client libraries / connectors available. Mentioned various places like : MySQL :: 32-bit ODBC Driver 8.0 for Windows is back!
-
Finding duplicate properties in classes
Brian Evans replied to egroups's topic in Algorithms, Data Structures and Class Design
MMX Code explorer (now free and maintained by Uwe Raabe) has a class browser that might be useful within a file. MMX – speed up your Delphi development (mmx-delphi.de)