Jump to content

corneliusdavid

Members
  • Content Count

    627
  • Joined

  • Last visited

  • Days Won

    11

Posts posted by corneliusdavid


  1. 1 minute ago, Remy Lebeau said:

    if you don't specify a full path then it will use the Windows folder, not the calling process' working directory

    Oh, that's right--I forgot about that! I often prepend the filename with the application's path in which case the above scenario I described happens.


  2. There are lots of other good suggestions here but I'll just add one thing to check. By default, Delphi projects set their Output directory to .\$(Platform)\$(Config) meaning that while your project (and possibly your .INI file) are in a folder like \MyProject, the .EXE would be in \MyProject\Win32\Debug (for a Win32 app compiled with the Debug configuration). When it runs, it's running from \MyProject\Win32\Debug and therefore doesn't see the .INI file two folders up. When you specified the full path, it likely saved it (as @Attila Kovacspointed out) so that next time it ran, it found the second copy of the .INI file.

     

    This has caught me a few times and now I always check the project's Output directory setting. The possible reason you haven't seen this before is either you had set the Output directory (and forgot about it) or you were using a much earlier version of Delphi (before multiple platforms) that left .EXEs in the same folder as the project.


  3. 4 hours ago, Stéphane Wierzbicki said:

    Thanks but it would be nice if Embarcadero could provide detailed information such as URLs to allow, public IP adresses, TCP / UDP ports ranges and so on.

    There's really nothing more than the standard web ports I mentioned earlier. You can run the IDE to build apps without internet connection. Today's modern software is delivered over the internet so it's to be expected that you'd need an internet connection for installation, updates, and to get add-on styles and libraries through GetIt (which uses a REST API over HTTPS). But after that, I can't think of any special ports or addresses required for normal use of the Delphi IDE.

     

    If you could please list specific error messages you're seeing, that would help.


  4. 1 hour ago, Tom F said:

    What path?

    Sorry, I wasn't clear: Those folders are added to the Windows System Path (outside of Delphi).

     

    And after the standard install, Delphi's Library Path should contain:

    • $(BDSCOMMONDIR)\Dcp
    • $(BDSCOMMONDIR)\Dcp\$(Platform)

    After JCL/JVCL is installed, the Delphi Library Path should additionally contain:

    • <base jcl install path>\jcl\jcl\lib\d28\win32
    • <base jcl install path>\jcl\jcl\source\include
    • <base jcl install path>\jvcl\jvcl\lib\D28\win32
    • <base jcl install path>\jvcl\jvcl\common
    • <base jcl install path>\jvcl\jvcl\Resources

    for Win32 development; equivalent ones for Win64 development.

     

    Several source folders were added to Delphi's Browsing path as well:

    • <base jcl install path>\jcl\jcl\source\common
    • <base jcl install path>\jcl\jcl\source\windows
    • <base jcl install path>\jcl\jcl\source\vcl
    • <base jcl install path>\jvcl\jvcl\common
    • <base jcl install path>\jvcl\jvcl\run

    Hope this helps.

    • Like 1
    • Thanks 1

  5. This isn't an official answer and I don't know how helpful this will be but I looked at the Windows Firewall settings on a virtual machine where I use both Delphi 10.4 and Delphi 11.1 and didn't see any specific ports open but several applications that are allowed for in-bound communication:

    DelphiPortsIn.thumb.png.d4a451a365af442002da75f2b5458240.png

     

    So, only for remote debugging or RAD Server. If anything, it's likely using the standard port 80 (HTTP) or 443 (HTTPS) for outbound calls but you should be able to use it without an internet connection after the initial license verification.

    • Thanks 1

  6. I installed JCL/JVCL after pulling the latest from GitHub and running the supplied install batch files--and it installed fine.

    If you installed D11 into the default folder, you should have four folders added to your path:

    • C:\Program Files (x86)\Embarcadero\Studio\22.0\bin
    • C:\Program Files (x86)\Embarcadero\Studio\22.0\bin64\
    • C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl
    • C:\Users\Public\Documents\Embarcadero\Studio\22.0\Bpl\Win64

  7. On 3/7/2022 at 6:16 PM, CyberPeter said:

    All this nonsense would not be necessary if they would just COMMUNICATE about the issues (docwiki for instance).  The silence only feeds the idea of a failing company or at least a failing product

    I totally agree. It frustrates me to no end to see and hear about problems in the product but not have any response or idea when they'll get resolved, if a feature is dropped, what the priority is, or ANYTHING. Just someone saying, "sorry it's late, we're working on it but are slammed" or something would be better than silence. So often, I see businesses just trying to pretend everything is OK when customers are clamoring for answers. I always give my customers reasons for being late, even if they've heard them before--they appreciate knowing I'm still alive and are listening to their cries.

    • Like 4

  8. 5 hours ago, Tom F said:

    Do I take the risk and download it?

    This isn't a "new" version (like 10.4 Sydney over 10.3 Rio), this is an in-place, dot-release update to 11 Alexandria. Yes, it uninstalls your current version 11.0 installation (if you installed it).

     

    Strange that the numbering scheme is a little different than the 10.x series (e.g. 10.1 Berlin and 10.0 Seattle).


  9. Try putting a TLayer3D on the cube (as a child object) and then adding a TLabel to that. To make the TLayer3D transparent, check Transparency property and make sure the Fill.Kind property is set to None (sometimes you have to toggle that to Solid and then back to None to get it realize it really should be transparent).


  10. On 2/19/2022 at 4:42 AM, John Kouraklis said:

    Is there something similar on macOS?

    I have less experience on the Mac but each app deployed has several sub-folders with different supporting parts like libraries and resources, so with a little study, this should be quite doable.


  11. 17 hours ago, taariq said:

    Just a question - what other databases will you advice me to use...

    Firebird is awesome--works well as either embedded or server, so it can scale with your app.

     

    SQLite is small and nimble and available on every single platform.

     

    If you have a choice, do not use Access--you will have many problems down the road.

    • Like 2

  12. 11 hours ago, Silver Black said:

    I'm trying the TTaskDialog component

    I use this a lot and it works well for a variety of use cases.

    11 hours ago, Silver Black said:

    I don't like a component on an actual form

    You can create the component in code pretty easily. GExperts has a nifty tool to do this for you.

    11 hours ago, Silver Black said:

    example if I have to show a message from a unit or project with no forms

    The TTaskDialog component can be placed on a data module; it can also be called from another unit (or form or data module) to keep your form clean.


  13. A few other pieces of information might be handy to make a good decision. If there are just a few of these corporate customers and the only branding is the logo, getting the logo and building a custom install from your compiled application would be relatively simple to manage--I've done something similar to this. And yes, like @Vandrovnik mentioned, InnoSetup is great for this--either for you embedding a custom logo or with them supplying a logo with the right name and size in the right location so the installer can find it.

     

    But if your customers want to do a lot more than just the logo, like customize some labels or options or set colors and distribute a whole "themed" application, then I would suggest building a theme packager (could be as simple as zipping some files) and making it simple for them to create a theme and package it for their own distribution. Your installer would have to look for a theme package and apply it and you'd deploy a basic theme.

     

    My experience with any sort of theme or customization is that there will always be little changes here and there after it's "done" and you don't want manage all those for all the customers, so giving your customers the ability to mange those for themselves would be highly preferable.

     

    In any case, you want your base application the same between paid and free if at all possible, and some sort of long, encrypted license key or something that unlocks the full power for the paid version.


  14. 5 hours ago, dummzeuch said:

    Actually it isn't (I just looked), which explains why I missed your blog post.

    It's called "Coding in Delphi and Beyond". 

     

    I changed it to "Just Another Developer Blog" a few months ago because I didn't want people to think it was connected to the books by Nick Hodges. Last night, I found it listed in "begin end" with the original name so just changed my blog's name back to that. Now I gotta go change my signature line here again.


  15. 1 minute ago, Dany Marmur said:

    how do you sleep at night when you cannot se the code

    This seems a little harsh. I use a lot of code that others have written and which I cannot see (or haven't looked at). I sleep just fine at night. I don't have time to personally look at and test everyone else's code but trust that it works as described. Of course, it's wise to test the finished product that uses unseen code modules to make sure the end result is what you're after.

     

    In this case, there's a specific problem for which an answer is being sought and being able to see what the components do by looking at the code could help but will it actually take less time tracing through thousands of lines of unfamiliar classes than it would to post a question on a forum?


  16. 30 minutes ago, dummzeuch said:

    There is the GExperts Code Proofreader expert which supposedly can correct typos like Heigth to Height etc.

    This is a great feature--I've used it both for proof-reading and for simple keyboard macro expansion (before Live Templates).

     

    3 hours ago, Tommi Prami said:

    I almost always missspell Lenhgt and Widht

    Using GExpert's Code Proofreader or Delphi's Live Templates, you can either auto-correct your most common misspellings or set up small keyboard macros to do the typing for you. For example, instead of typing "length" you could type "lg" and it would be expanded to "length" for you.  I misspell "string" a lot and so set up "sg" to type it out for me.

     

    This productivity trick saves a lot of time--I blogged about it a few months ago: https://corneliusconcepts.tech/delphi-productivity-tips-live-templates

    • Like 1

  17. 17 hours ago, David Heffernan said:

    That just tells you about this one piece of code and whichever compilers you happened to use. It doesn't prove a rule. 

    True. Somewhere back in time, I thought I had heard or read this and well, it made sense (to me) and a quick test of this one particular case in one particular version of Delphi confirmed my thinking but you're right, it certainly does not prove a rule. The much, MUCH better way is to just avoid writing obscure code in the first place. :classic_cool:

    • Like 1
×