Jump to content

Brian Evans

Members
  • Content Count

    360
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Brian Evans

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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).
  7. 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).
  8. 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)
  9. 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.
  10. 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!
  11. 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)
  12. Brian Evans

    In App Purchase (consumable and subscription)

    Read the help topics and use the events not some Sleep/ProcessMessages messages loop. Using the iOS In-App Purchase Service - RAD Studio (embarcadero.com) Using the Google Play In-app Billing Service - RAD Studio (embarcadero.com) There is also a demo that includes in app purchases: FMX.CapitalIAP Sample - RAD Studio Code Examples (embarcadero.com)
  13. For 1 the help (Command Batches (FireDAC) - RAD Studio (embarcadero.com)) says: PostgreSQL The commands must be separated by ';'. A batch without parameters can be executed with ResourceOptions.DirectExecute set to True. With PostgreSQL v >= 9.0, use the DO BEGIN END anonymous block construction.
  14. Brian Evans

    Unable to rename source file on save?

    One situation would be if the source file is open by something else which will cause the rename to fail. Check if something else has the file open with the openfiles command or Resource Monitor.
  15. Brian Evans

    Delphi 11.2 - Ubuntu Debugger error

    I am seeing those messages as well now. Hitting continue a couple times gets past a bunch of raised exception class Stop (17) messages and I then get the FMX GUI application form visible and break points work. Here doing Setting Tools -> Options, in the dialog: Debugger, Embarcadero Debuggers, Native OS Exceptions: 64-bit Linux Exceptions and Signals, Stopped (signal) (SIGSTOP) ($11) to have on resume column to run handled. The dialog never comes up at all and break points work. The number of times I needed to press continue seems to correspond with the number of warnings I see for bad DW_FORM values from LLDB in the command window paserver is running in..
  16. Brian Evans

    Access violation error when communicating with a component

    Nothing shown references a component in another unit. I only see a local ProgressBar1 defined in the Var section of your procedure that isn't created / initialized so will throw access violations when an attempt it made to reference/access it. Usually you would put the other form unit in the Uses clause of the implementation section of the form you want to reference it from. Then use the form variable to access it like Form1.ProgressBar1.Visible := true;. implementation {$R *.dfm} uses Unit1;
  17. Brian Evans

    win32 exe compiled in Delphi11 does not run on W2000

    No problems here on Windows 2000 Pro SP4 - a simple form with a close button compiled with Delphi 11.2 runs. Make sure both Set OS Version fields in PE Header as <major>.<minor> and Set Subsystem Version fields in PE Header as <major>.<minor> are set to 5.0. Those are the only two changes I made from a default project for Windows 32-bit.
  18. Brian Evans

    No GExperts formatter on Windows 11 with elevated IDE

    The code formatter was added latter in GExpert's life by integrating a separate project called DelForEx. Might be something broken with this integration when the IDE is run elevated. It is under active development with a SVN repository available. Perhaps raise a ticket / take a loot at the source code etc. GExperts download | SourceForge.net
  19. Brian Evans

    Delphi beta testing a "premium" privilege?

    Part of me is just grateful Delphi for Windows with the VCL is actively developed and they are still willing to attempt some larger updates like the LSP. I have a smaller code base so don't suffer from the current LSP problems as much as others. All the other improvements have me enjoying 11.2 more than any release in a long time. Myself I would prefer wide ranging consistent improvements and fixes over trying to introduce the "next big thing". I think an IDE can be a case where the whole is greater than just the sum of the parts due to how things are integrated. Felt that since Turbo Pascal 4.0 under MS-DOS - editor/compiler/debugger all in one with a good manual made it an amazing product. Delphi sometimes feels the same but it is a much larger product so easier to hit rough spots. A lot of other development environments and especially GUI libraries have been replaced, killed off or frozen in time over the decades. Delphi and the VCL is one of the few that has made numerous transitions over the same period and remained viable. Not cutting edge but not dead.
  20. Note that any query / Transact-SQL Code that tries to return two or more results sets will produce that error when MARS is off. Look for an IF or other structures in the SQL code that could end up running more than one SELECT statement for some code paths. Could be inside a stored procedure or in code you send to execute. Another place it can happens is not fully reading one result before going on to another.
  21. Brian Evans

    No one can help

    It would not take much memory fragmentation for 60MB allocations to start to fail for 32bit / 2GB of address space. SQLite is an in process database so shares the same 2GB address space. Multiple copies of record/field data that would not be an issue from smaller amounts of data become an issue. There are ways to stream blobs in Firedac to reduce memory usage. See: Support for Blob Streaming in FireDAC - RAD Studio (embarcadero.com)
  22. Brian Evans

    Crowdstrike killing Delphi 11.2

    Report a false positive to CrowdStrike. Most such companies are pretty quick when provided enough details.
  23. cxGrid has Server Mode which gets you a lot of the benefits of Grid Mode without loading every record for large result sets. Has some limitations but overall works very well. Server Mode | VCL | DevExpress Documentation
  24. Something else put it there as the entries by Delphi / BDS during installation use $(BDSBIN)\ and not an absolute path. The registry entries tend to remain in the order added if some haven't been deleted so look at what was added just before/after for clues.
  25. Brian Evans

    Borland Database Engine

    Was usually available in the registered users download area as mentioned here https://support.embarcadero.com/article/44082 which links to Delphi Registered User Downloads (embarcadero.com). After logging in it times out a couple times but eventually comes up for me (probably slow queries to a back end database that time out but work once the data has been read from disk already on subsequent attempts).
×