Jump to content

corneliusdavid

Members
  • Content Count

    408
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by corneliusdavid

  1. corneliusdavid

    AnsiString oddities

    @Remy Lebeau Thanks for the correction and explanation.
  2. corneliusdavid

    IDE being destroyed by new versions

    Got it. Thanks!
  3. corneliusdavid

    Bluetooth LE only for paired Devices on Windows?

    Yes: https://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_Classic_Bluetooth#Discovering_and_Pairing_with_Remote_Devices
  4. corneliusdavid

    IDE being destroyed by new versions

    This should be reported to Embarcadero. Until it's fixed, restart the IDE every couple of hours, perhaps (I know, lame work-around). I pulled up Delphi XE to compare, turned on Auto Invoke (I had it unchecked) and the first time I started typing a method, I had to hit Ctrl+Space but after that it did come up automatically. Back to Delphi 10.4/11... you're right, it doesn't work. Found it's already reported in QC: RSP-29827. This one, I don't understand. If you use code completion, the method name and its parameters are placed in the code before you type it, so how could they already be there? In your example, let's say you type "say" and hit Ctrl+Space for code completion, you wouldn't have typed ('') yet so I would expect code completion to put in "SayThis()" for you; how did the extra set of parenthesis with quotes get there?
  5. corneliusdavid

    Bluetooth LE only for paired Devices on Windows?

    Delphi has the TBeacon component that can be configured to listen to BLE devices without pairing: https://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_Beacons
  6. No, there are many free or inexpensive places to get icons and packs of standard images for small and simple use. Here are some: Glyfx has been around a while. Icons8 is on GetIt. The Noun Project. All of these have free samples or restricted plans along with a variety of pricing plans for heavier use or higher resolution images.
  7. corneliusdavid

    IDE being destroyed by new versions

    I don't see any of the Object Inspector or Structure Pane problems you mention. I tried everything in both a FireMonkey and VCL project. I don't totally get the last two items, I always hit Ctrl+Space when I want a suggestion for code completion or parenthesis--didn't even think about it. I haven't seen the double-parenthesis unless I type them. Can you tell us about your environment: Windows OS version Memory Hard disk space free Monitor resolution Project size Maybe if you're using a 32-bit OS (unsupported) or have very little memory free or something else, it could be affecting this. Also check Tools > Options > User Interface > Editor > Language and look at each of the tabs under Delphi to make sure you haven't missed a checkbox to get the Code Completion working for you. Delphi 11 has some problems and it was probably released too early but it certainly is not unusable.
  8. corneliusdavid

    Wordpress to Firemonkey

    So you don't actually want to "convert" the website into a mobile app, you want to write a mobile app to access the content of a website built with WordPress, right?
  9. corneliusdavid

    I need FireMonkey demo projects

    FireMonkey is for both Delphi and C++Builder. Start here to learn about FireMonkey: https://docwiki.embarcadero.com/RADStudio/Alexandria/en/FireMonkey Then find examples here: https://github.com/FMXExpress/Firemonkey
  10. corneliusdavid

    AnsiString oddities

    It's been a while since I used C++ but I think you might need to use a StringBuilder class and call methods to concatenate string.
  11. corneliusdavid

    FMX cross platform approach?

    This sounds really slick at first but would this actually work? The base filenames are the same but if you switch the View in the designer and make any change, the Delphi IDE creates a copy of the .fmx file with a different filename for that view in the same folder, so you'd have to constantly be moving those files to their platform folders. Or only looking at certain units in certain views. I agree putting {$IFDEF}s in the .dpr is not only a bad idea but difficult to manage as adding/removing units to the project rewrites it. If sub-forms are loaded and managed from the main form (or somewhere else other than the project) then using {$IFDEF}s in uses clauses isn't so bad--but then you don't have all of the used units listed in the project--which are used by some external tools.
  12. corneliusdavid

    FMX cross platform approach?

    Yes, for database and other non-GUI and platform-agnostic stuff, keep it simple and write a VCL app to build out and test those features, keeping them completely separate. This is an excellent use case for writing event handlers. This is a nice approach--keeps the code cleaner. That's a great idea--use the best controls for each platform. Grids are a lot easier to work with than ListViews but ListViews are better for small devices. The only thing is that as soon as you view a form in the designer using a different platform view, it creates another .fmx file (e.g. .iPhone.fmx, iPhone47in.fmx, iPhone55in.fmx, .LgXhdpiPh.fmx, .Macintosh.fmx, etc.) so then you have to manage those but still, I like the approach.
  13. corneliusdavid

    What is RAD Server?

    @mvanrijnen, no worries, take care of yourself.
  14. corneliusdavid

    What is RAD Server?

    Oh, so you send the username/password in the first API call, get back a session id, then use that for subsequent API calls. And THAT is where the problem occurs, when doing the same thing from a different device and it returns a different session id but you can't use a different session id for the same login.
  15. corneliusdavid

    What is RAD Server?

    That uses the TBackendAuth component, different than simply accessing a custom API endpoint. I've accessed API endpoints using the same login from multiple computers nearly simultaneously. But the authentication component logs in, then you do your user management, then logout--that's a very different scenario, isn't it?
  16. corneliusdavid

    What is RAD Server?

    Admittedly, I've only used it for simple apps to test and understand RAD Server. What you're saying is that each connection must be logged in with a separate user, right? For a per-user license of RAD Server, I guess it's ensuring the license fee won't be abused.
  17. corneliusdavid

    What is RAD Server?

    It's not a web server. It's a REST server that can run stand-alone or through a web server such as IIS or Apache. It provides a framework with user management on a robust and encrypted database onto which you can easily add custom-written API endpoints for REST clients.
  18. corneliusdavid

    FMX cross platform approach?

    If I was starting a new application targeting multiple platforms, I would develop for all platforms simultaneously while building the app. The reason is that different platforms will have slightly different ways of doing things and if you build the app to work well on one platform then address needs of others, it may affect some screen design decisions you would've made differently earlier. For example, iPhones and iPads don't have a back button but Android devices usually do so if you write the app with the assumption of an Android device first and assume everyone will have a back button, your screen may be too cluttered to add a back button later when you add the iOS platform. That's just one simple example and of course you should be aware of platform differences up front (and never make assumptions, etc.). There are many other considerations such as screen size and orientation, which style will you apply for the different platforms and how do all the different edit controls look and feel. All these things have subtle influences on your screen design. It's much easier to make those decisions in the early stages than to then try to morph a feature-complete app for another platform.
  19. corneliusdavid

    What is RAD Server?

    It's a REST server in a box with installations for both Windows and Linux, running stand-alone or under IIS (Windows) or Apache (Linux). You add your own custom services as modules using Delphi or C++Builder. For Linux installations, I know it supports Ubuntu, but you'd have to check with Embarcadero for the latest supported distributions and versions--but yes, it would run under a virtual machine. It also requires at least the Enterprise edition of Delphi, C++Builder, or RAD Studio. https://www.embarcadero.com/products/rad-server
  20. corneliusdavid

    Parnassus Bookmarks for Delphi 11 Alexandria?

    And for the record, I have used some WordStar key combinations, such as Ctrl+K Ctrl+I and Ctrl+K Ctrl+U for indenting and unindenting blocks of code before Tab and Shift+Tab were implemented.
  21. corneliusdavid

    Parnassus Bookmarks for Delphi 11 Alexandria?

    True. If you like those key combinations better than Ctrl+Shift+B and Escape, then I guess you don't need the Parnassus plugins for stack bookmarks.
  22. corneliusdavid

    Parnassus Bookmarks for Delphi 11 Alexandria?

    Yes, Delphi has had Toggle Bookmarks for a long time where you hit Ctrl+Shift+N (where "N" is the number 1..9) for 9 different bookmarks per file. Since Delphi 10.1 Berlin, you can also use stack-based bookmarks but by default, they use a clumsy collection of the old WordStar key combinations I can't remember. The Bookmarks and Navigator plugins add a lot of nice features which make it usable.
  23. corneliusdavid

    ADOTable vs ADOQuery

    Table components will bring back all the fields from each row returned whereas you can limit the number of fields returned with a query. Also, the result set is prepared on the server (using joins and where clauses and such) rather than bringing the data down to the client and then filtering it, so it can be much more efficient, especially noticeable over slow connections.
  24. @Ann Lynnworth, thank you very much for the detailed explanation. That's exactly the information I needed!
  25. corneliusdavid

    Interesting way to copy dynamic arrays.

    Ah! Yes, I see it now! Calling SetLength() is necessary to make it unique!
×