Jump to content

Brian Evans

Members
  • Content Count

    397
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Brian Evans

  1. Brian Evans

    Delphi takes 9 seconds to start/shutdown an empty application

    Been a while but I remember disabling some packages to speed IDE startup. Certainly, a welcome page listing the latest updates for an IDE that hasn't gotten updates in years is a waste of time to load with the IDE. Often used the instructions at: Delphi packages I have disabled by prefixing their description with an underscore (and why) « The Wiert Corner – irregular stream of stuff
  2. Brian Evans

    Delphi takes 9 seconds to start/shutdown an empty application

    I found that annoying as well. For several years I would set the debug desktop to the regular desktop and turn off hide designers on run. Made compile/run/test cycles much faster. I usually did not need the debug panels as most testing was in the application being developed. No longer needed with very recent versions as IDE redrawing is better so switching desktops and hiding/unhiding designers is fast.
  3. There are no new license/serials - you use the existing license. The My Registered Products at Registered Products Portal (embarcadero.com), the product+serial you did a support renewal for should have a new / extended Subscription End Date and a Subscription Status of Active. The matching download should be available under My Downloads. With an active subscription 12.2 should be available - it is for me and the product line in my registered products is Delphi 10.2 Tokyo Enterprise Named User. first registered in 2018.
  4. Brian Evans

    Registration Limit

    Sales is also supposed to be able to do the license bump for those without active support. At least that is what has been said when this has come up in recent years. Not sure why they don't make it smoother or more explicit - the uncertainty produces anxiety and negative feelings in users.
  5. Brian Evans

    Need help with in-app purchases via Amazon

    Best to read up on it - https://developer.amazon.com/docs/in-app-purchasing/iap-overview.html the basic choice is between an SDK and a compatibility SDK. Not sure how much effort it is to use the code that comes with Delphi with the compatibility SDK but it would be easier than using the SDK.
  6. Brian Evans

    Minimum Viable Product (MVP)

    The MVP needs to be usable by your early customers that are a subset of what you hope to eventually reach. Figure out who they are, their needs and how you can meet some of those needs with a small, limited feature set.
  7. Brian Evans

    "Death to WITH" in your Delphi Code

    Introducing new variables isn't the same as WITH which just adjusts how the compiler handles scoping for which reference a name refers to at compile time. If introducing a new variable isn't an issue may as well use inline variables with type inference for modern Delphi at least. procedure TMyForm.UpdateInventoryItem(const NewQty: Integer); begin var A := dmStoreInventoryData; var B := A.tblUpdateItemForStore; B.Edit; B.FieldByName('Qty').AsInteger := NewQty; B.Post; end;
  8. Brian Evans

    "Death to WITH" in your Delphi Code

    In this example NewQty is a parameter of the procedure.
  9. Brian Evans

    "Death to WITH" in your Delphi Code

    If they added the ability to provide an alias the ambiguity would be gone. Aliases in SQL are useful and perform a similar function. Shortening repeated references can make code easier to read, the problem is the current WITH creates ambiguity. A code snipped from the blog post redone with the ability to provide an alias as an example: procedure TMyForm.UpdateInventoryItem(const NewQty: Integer); begin with dmStoreInventoryData as A do begin with A.tblUpdateItemForStore as B do begin B.Edit; B.FieldByName('Qty').AsInteger := NewQty; B.Post; end; end; end;
  10. Brian Evans

    Navigator disappeared from GetIt

    They are missing in the IDE based GetIt here as well. Other subscription only stuff like FMXLinux 1.78 that got an update around the same time (June 2024) show without issue.
  11. FireDac requires client libraries of some form provided by Microsoft to access Microsoft SQL Server. These are not available for Android. Another set of data access components is SDAC from Devart which has an additional direct access mode that uses TCP/IP directly to access Microsoft SQL Server. Applications using this direct mode can run on platforms for which Microsoft has not provided client libraries.
  12. I think those (uses-feature) are just play store hints? The application won't be offered to devices without the uses features that are marked as required. They don't seem to be used by the android loader itself. Might be the OS is trying to be clever and attempting to pre-load/integrate something related to a uses-feature that then causes issues or a crash.
  13. Brian Evans

    array

    Using SQL to query <100k records in a memory table shouldn't be slow on even a 300Mhz Pentium 2 with spinning rust with even a small number of indexes to help. I wonder what you are doing to make it so slow. Something like SQLite is well optimized and shouldn't be slow at this, especially if you load the data into in-memory tables and add an index or two.
  14. Brian Evans

    PAServer docker output

    Work on describing the problem. Start with conditions where it occurs, Where does it not occur? Describe "What" the problem is. Develop a small test case or program you can share that reproduces the problem. Reproduce the problem yourself in varied environments.
  15. There are events your app can receive. WM_POWERBROADCAST Messages - Win32 apps | Microsoft Learn WM_POWERBROADCAST message (WinUser.h) - Win32 apps | Microsoft Learn
  16. Brian Evans

    Codesnip 4 data files??

    A quick search I see that information at codesnip-faq/UsingCodeSnip.md at master · delphidabbler/codesnip-faq · GitHub in part of the answer to FAQ 3 What changes does CodeSnip make to my system?
  17. You must manually enter the "fixed set of choices" that populate the list. Just like an TDBEdit shows one field value from the current record the TDBListBox highlights the value of one field from the current record in the list. A DBLookupListBox also sources the values for the list from another query / datasource.
  18. It shows live data. For ONE field of ONE record (the current record of the dataset) it shows a list of values (from the items property) with the current field value highlighted. A customer record might have a Country field: hooking it up with the list having values for Canada, USA, Mexico it would highlight the list value matching that of the current record. If the user clicked a different list value, then the field would change value to that.
  19. You need to put the list of values to choose from in the list's items property. If you want the list of values to come from the database you would use a DBLookupListBox.
  20. Brian Evans

    how to recognize cards drawn from a deck?

    Python has more bindings and tutorials for stuff like this and can be used from Delphi once you get it working in Python. Retraining an image classification model on the set of cards would be a good start. Some starting points: Image Recognition and Classification in Python with TensorFlow and Keras (stackabuse.com) TensorFlow Lite | ML for Mobile and Edge Devices
  21. Brian Evans

    Show executable size after successful build?

    After doing a build, on the Projects pane you can right click the active build configuration and select "Show in Explorer" to look at the files. A few times I have done it to check the size but mostly it is to copy the file to the Windows Sandbox for some testing.
  22. Brian Evans

    Android 15 and edge-to-edge enforcement

    The Android version / SDK targeting requirements are a year behind releases. Only on 31 Aug 2024 are new apps and updates required to target Android 14 / API 34 (with extension to November on request). Delphi has often barely made this more relaxed requirement so I wouldn't expect Android 15 / API 35 support anytime soon. Target API level requirements for Google Play apps - Play Console Help
  23. Brian Evans

    Avoid parameter evaluation

    Having the logging expressions compiled and executed on a regular basis means they are less likely to break unnoticed and cause issues when you need them. Building logging strings is usually a small fraction of execution time so keeping things simple is a valid choice.
  24. Brian Evans

    Debugging with Linux target

    Not sure what your setup is - what Linux has PAServer on it to run/debug executables written in Delphi? Are you using your Ubuntu 24.04 host? It is best to use a supported distribution, so Ubuntu 22 or Ubuntu 20.04 LTS if you prefer Ubuntu when debugging. Supported Target Platforms - RAD Studio (embarcadero.com)
×