Jump to content

dummzeuch

Members
  • Content Count

    2671
  • Joined

  • Last visited

  • Days Won

    92

Posts posted by dummzeuch


  1. Thanks mostly to the work  @Achim Kalwa put into the preparations I have now built an installer for GExperts 1.3.23 Alpha for Delphi 12.

    Note the word “Alpha” in the release name. Basically I installed Delphi 12, fixed some problems with the build scripts and compiled Achim’s new project. Then I added the Delphi 12 version to the installer script and built it. Oh yes, I also installed the DLL in Delphi 12 and started the IDE a few times.

    That’s about all the testing from my end that went into this alpha release. ...

     

    Read on in the blog post

    • Like 1
    • Thanks 1

  2. 37 minutes ago, Pat Foley said:

    Does GExperts have anything that looks at file age, I found that mentioned in Ray Lischner Hidden Paths of Delphi 3  wooden book.  Then look at timestamps of the DCU to if the Build all compile processed everything. Sometimes the source needs saved first.  GExperts actually catches when a license check fails which again is some good work.     

    I'm not quite sure what you mean here. The Delphi compiler automatically checks if the internal timestamp of a dcu file is older than the currentl source code of a unit and recompiles it, if necessary. But what exactly does hat have to do with GExperts?


  3. 2 hours ago, Markus Kinzler said:

    If you use Code from an gpl-licenced product, you have to release the code of your product, too.

    Actually no. With the normal GPL You only have to give the sources to those who you give the binary. You don't need to release it to the general public if you don't release the binary to the general public.

    1. If you only use it internally, you can keep your code confidential.
    2. If you give the binaries to a 3rd party, you will have to give them the source code too.
      1. That 3rd party does not release it to the general public, it will only be available to them.
      2. But: They have the right to release it and you are not allowed to restrict this right.

    As you correctly pointed out, the GNU Affero GPL closes a perceived loop hole that is created by internal use for a publicly available service.


  4. 35 minutes ago, DelphiUdIT said:

    This is part of project "Cmulator" made in Pascal. This is the license: https://github.com/Coldzer0/Cmulator/blob/master/LICENSE

    "GNU AFFERO GENERAL PUBLIC LICENSE"

    According to the abstract this sounds a lot like GPL.

    But whatever the difference to the GPL might be. This:

    Quote

    Conditions

    • ...
    • Same license

     

    ... means I can't use it in any of my tools. I'm not going to change the license from MPL to anything GPL like.

    I was actually thinking about using this to add support for 64 bit executables to the PE Information Expert in GExperts.


  5. 2 hours ago, Fr0sT.Brutal said:

    So your program has relied on a 3rd party libs that *should* be kept up-to-date by someone else 🙂?

    No, the program should have had these DLLs in its installation directory. And it usually has.

    2 hours ago, Fr0sT.Brutal said:

    I think in such case the program itself must control what it loads and check if a loaded module has proper version. Or just use local libs and don't bother about what's in search path.

    Yes, it should. It didn't though. Now it does.

    The error occurred on my development computer with freshly checked out sources. Normally missing DLLs would have caused an error message which would have reminded me to copy them from a subfolder. Unfortunately there was no error message, just the SSL connection failed.

    Hm, thinking about it: Maybe the loading code should specify the full path for the DLLs. But that would mean I had to change the Indy sources. I'd rather not do that. Alternatively my program could load the DLLs before calling any Indy code.


  6. 2 hours ago, gioma said:

    The only patch for Delphi 11.3 was released in April and they haven't released anything since.

    After a little over a year, Delphi 11.3 was left to fend for itself.

    Embarcadero's policy so far has been to release new versions and not update older versions.

    Delphi 11.3 is the 3rd update for Delphi 11 (as opposed to the 10.x versions where each point version was a new release), so there have been updates and each of them fixed some bugs (11.0 was so bad that I didn't even want to spend the time for a GExperts release until 11.1 came out.)

    I'm not disagreeing that there is a lot of room for improvements, though. I'm not using Delphi 11.3 for production because it isn't stable enough in my environment.


  7. 3 hours ago, timfrost said:

    SysInternals Process Explorer can show the path and version resource of each loaded DLL in a process.

    Yes, I kind of knew this (but didn't think of it). But using the internal functions will also help diagnose installations on computers which cannot be accessed directly. A program can present the user with this information or it can be included in an error message or log file.


  8. 3 hours ago, ULIK said:

    I played around with this expert and added two things:

    - display with gutter:

    - two buttons to refresh or clear results: refresh can be used, when typing something on editor itself that modifies the result positions.

    Thanks! I was about to add these two myself, the next time I find some free time. Having your patch will make that happen a lot faster. I still need some time for this anyway.

    3 hours ago, ULIK said:

    As I'm not familiar with GX development: I have simply assigned two icons from GX Icon folder to speedbutton glyph, which probably is not the common way for GX. So you might change this to better fit the GX universe.

    You are correct. The right way is to use the image lists in Source\Framework\GX_SharedImages, or since Delphi 11, to assign these lists at runtime. See any of the dialogs that have a tool bar on how this is done.


  9. Yesterday, all of a sudden, one of my Delphi programs failed to connect to various WMS servers on the internet. I got the following error message:

    Error connecting with SSL. error 1409442E:SSL routine:ssl3_read_bytes:tlsv1 alert protocol version

    Since I was using a recent version of Indy, this should not happen, according to this thread on Delphi Praxis. It turned out that somehow a very old version of the openssl DLLs libeay32.dll and ssleay32.dll had gotten ... read on in the blog post

    • Thanks 1

  10. Another option would be to have a procedure like this:

    procedure TButtons_SetEnabled(const _Buttons: array of TButton; _Value: Boolean);
    var
      btn: TButton;
    begin
      for btn in _Buttons do
         btn.Enabled := _Value;
    end;

    And call it like this:

    TButtons_SetEnabled([Button1, Button2, Button3], True);

    Not much of a typing saver, but not as repetitive.

     

    Edit: Just noticed that Uwe already suggested a similar approach.

    • Like 1

  11. 1 hour ago, Remy Lebeau said:

    Why implement a custom IEnumStrings class for directories/files?  There is already a pre-made data source provided by the OS for that exact purpose - CLSID_ACListISF, which can be created with CoCreateInstance(), configured via IACList2::SetOptions(), and then passed to IAutoComplete::Init().

    Does that one also allow pre-filtering the filenames? e.g. If I only want to select from GX_*.pas files, or those matching *.dbf;*.dat ?

    I already had a similar function for filenames and directories without filtering using SHAutoComplete, but the filtering was important for me.

     

    (Short answer: I didn't know about this)


  12. 4 hours ago, ULIK said:

    I have attached you a Subversion patch file. It's just a quick&dirty change, so have a look on it (especially for the new resource string. This might not be necessary).

    GX_GrepInstantGrep.pas.patch

    Thanks. Commited as revision #4070. I have made a small change thoug: I prefixed the file name to "- instant grep" like it is shown in e.g. the project manager window so the importantpart (the file name) is visible even if the window is too narrow to display the full title.

     

    An unfortunate side effect is that the original position entry now doesn't even show "original position" in the caption. It needs some other way to be distinguished from the other entries.


  13. 1 hour ago, Carlo Barazzetta said:

    I'm searching for an "autocomplete editing" component (showing a list of possibilities) of available directories/filenames based on typed text, for an OpenSource project, so I need an OpenSource component that makes this work...
    Any suggestion?

    Not a component but a function that adds this functionality to any TEdit:

     

    https://blog.dummzeuch.de/2019/04/28/autocompletion-for-tedits-revisited/

     

    • Like 2

  14. 14 minutes ago, Ian Branch said:

    Unless I'm missing something, isn't the filename going to be the one open/in view att?

    Thus IMO the filename is redundant.  Just have the line # in the left column.

    Yes, it is indeed (as somebody else already mentioned). I originally copied the code from the Editor Bookmarks expert and the plan was to somehow consolidate those copies again. But there, it's also only the current file, so the filename is redundant too. I'll have to think about it some more (and find the time for it).


  15. 13 hours ago, Kas Ob. said:

    I faced this problem many time and almost always, converted the view into table,

    So i would suggest ,to make the file name and line number as they are, move the result to right and up, hence the first line in each section (result) will have the file name and the first result and line number while the result form the same file will only result under the first one, hope that is clear, also make the result switch background color for the same file, between two or more color, something easy on the eyes but yet will show the result grouping.

    image.thumb.png.7cfd283daaf314fffa03f65d98df6ecf.png

     

    Well Windows Paint is not Photoshop, yet i am happy with my Paint talent 😎

    Hm, yes that could be done. On the other hand, I could move the line number to the left column too, so it occupies the space under the file name which you left empty.

    • Like 1

  16. On 10/13/2023 at 1:44 PM, ULIK said:

    Doing a first short test: I was irritated as every hit is divided be the filename. As Instant Grep displays it's result only based on current editor file, why not just add the filename only to caption (see attached image)?

     

    instant_grep.thumb.png.1df98eb468e4c31fee5cdd1f29affa06.png

     

    Third, if there is no hit I would not show the entry 'Original Position'. At first I wondered, if this was a wrong hit of grep search, because I see something on result list I do not expect. If you want to show the original position, make it more clearer that this is *not* a search result.

    As of revision #4069 the original position is only shown if there are matches.

     

    I'm not sure about showing the filename. Yes, it's not really necessary, but since it also shows the line number on the right (which I definitely want to keep), not showing the filename would leave that line mostly blank.

×