Jump to content

Brian Evans

Members
  • Content Count

    297
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Brian Evans

  1. Brian Evans

    Unicode weirdness

    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.
  2. Brian Evans

    Offline Help updates available from Embarcadero

    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.
  3. Brian Evans

    Must have multiple var sections

    What database? Some databases have UNPIVOT to more easily convert columns to rows (the reverse of PIVOT which converts rows to columns).
  4. Brian Evans

    your own DB vs. 3rd-party?

    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.
  5. Brian Evans

    Edits not saved??

    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.
  6. The libmysqlclient.dylib file is included with the MySQL server install in the lib directory.
  7. 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.
  8. Brian Evans

    FireDAC MSSQL behaviour changed between 11.1 and 11.3

    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
  9. Brian Evans

    Application fail to start on android 10-11-12-13 IMEI

    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.
  10. Brian Evans

    Error loading data???

    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.
  11. Brian Evans

    D11 Update 1 + FireDAC + ODBC to Sage returning wrong data!

    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,
  12. Brian Evans

    D11 Update 1 + FireDAC + ODBC to Sage returning wrong data!

    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.
  13. 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.
  14. 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.
  15. Brian Evans

    Delphi 11.3 is available now!

    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.
  16. Brian Evans

    Delphi accessing remote Derby DB

    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.
  17. Brian Evans

    ODBC script for SQLite

    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.
  18. 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.
  19. Brian Evans

    The software industry has moved to the Web, why?

    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.
  20. Brian Evans

    Error in module rtl200.bpl

    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).
  21. 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).
  22. 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)
  23. Brian Evans

    Error in module rtl200.bpl

    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.
  24. Brian Evans

    D11.2 + FireDAC + MySQL 64 bit not working

    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!
  25. 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)
×