Recent

Author Topic: TCustomShellTreeView.GetFilesInDir() in KASComp package  (Read 2182 times)

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4541
  • I like bugs.
TCustomShellTreeView.GetFilesInDir() in KASComp package
« on: December 02, 2023, 09:23:33 am »
CASComp package downloaded from OPM does not compile. The error :
Code: Pascal  [Select][+][-]
  1. kaspathedit.pas(121,26) Error: identifier idents no member "GetFilesInDir"
at line calling
Code: Pascal  [Select][+][-]
  1. TCustomShellTreeView.GetFilesInDir(...)
In ShellCtrls I find a helper procedure GetFilesInDir() which has no definition in the interface section.
I guess there used to be a class procedure TCustomShellTreeView.GetFilesInDir() earlier.

CASComp is a requirement for Double Commander which I try to build.
I am testing with the latest Lazarus trunk.
How to proceed?
« Last Edit: December 03, 2023, 04:20:48 pm by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

wp

  • Hero Member
  • *****
  • Posts: 12476
Re: TCustomShellTreeView.GetFilesInDir() in CASComp package
« Reply #1 on: December 02, 2023, 11:59:25 am »
CASComp package downloaded from OPM does not compile.
Cannot find this package in OPM. What is its exact name?

In ShellCtrls I find a helper procedure GetFilesInDir() which has no definition in the interface section.
I guess there used to be a class procedure TCustomShellTreeView.GetFilesInDir() earlier.
Yes, removed by yourself in commit "98045780a16d65b4e0a3625507835b03f5b4eba7 LCL: Use TMaskList always for ShellListView.Mask. Enable all TMask syntax including sets." on Febr 24 2021. Cerainly there was good reason for it...

How to proceed?
Would it make sense to re-add the class procedure and make it call the "hidden" procedure in the implementation part?

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4541
  • I like bugs.
Re: TCustomShellTreeView.GetFilesInDir() in KASComp package
« Reply #2 on: December 02, 2023, 12:14:02 pm »
CASComp package downloaded from OPM does not compile.
Cannot find this package in OPM. What is its exact name?
Oops, it is actually KASComp. The metapackage in OPM is KASToolBar.

Quote
Yes, removed by yourself in commit "98045780a16d65b4e0a3625507835b03f5b4eba7 LCL: Use TMaskList always for ShellListView.Mask. Enable all TMask syntax including sets." on Febr 24 2021. Cerainly there was good reason for it...
Oh boy, in 2021. Yes, I will add a class procedure and mark it for merge to fixes_3_0.
[Edit] Done.
« Last Edit: December 03, 2023, 04:21:53 pm by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

Chusik

  • Newbie
  • Posts: 6
Re: TCustomShellTreeView.GetFilesInDir() in CASComp package
« Reply #3 on: December 02, 2023, 12:35:21 pm »
OPM contains a very outdated KASComp version. Actual component versions included in the Double Commander sources ("components" subdirectory). Also see.
« Last Edit: December 02, 2023, 12:37:16 pm by Chusik »

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4541
  • I like bugs.
Re: TCustomShellTreeView.GetFilesInDir() in KASComp package
« Reply #4 on: December 02, 2023, 02:40:27 pm »
OPM contains a very outdated KASComp version. Actual component versions included in the Double Commander sources ("components" subdirectory). Also see.
OK, I see. Thanks.
I installed them and was able to run Double Commander with LCL-QT5. With LCL-GTK2 it hangs for some reason. A resource monitor shows a zombie process then.
The situation with required packages is less than perfect. Packages are reusable by nature and OPM is a logical way to get them. Now we even have an option to install a missing package requirement directly from the Project Inspector, without opening OPM explicitly.
Maybe Double Commander developers should push maintainers of the required packages to get the packages updated in OPM instead of copying them into DC sources.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

wp

  • Hero Member
  • *****
  • Posts: 12476
Re: TCustomShellTreeView.GetFilesInDir() in CASComp package
« Reply #5 on: December 02, 2023, 03:43:58 pm »
OPM contains a very outdated KASComp version.
It is a bit unusal that the KASToolbar package used by the project has a dependence of the project-specific package doublecmd_common. This means that everybody who wants to include KasToolbar in his own project must also install this package. I did not find anything about whether KasToolbar is a third-party packages for doublecmd, or whether it was written specifically for doublecmd. In any case, general usage of KasToolbar is limited due to this dependence - I would not think of using KASToolbar in any of my projects because it would require having doublecmd (or at least part of it) on my system...

Alexx2000

  • Newbie
  • Posts: 6
Re: TCustomShellTreeView.GetFilesInDir() in KASComp package
« Reply #6 on: December 03, 2023, 01:28:12 pm »
Maybe Double Commander developers should push maintainers of the required packages to get the packages updated in OPM instead of copying them into DC sources.
Double Commander included in the several Linux distributions. So it must compilable out of the box without user interaction.
Most of packages included into Double Commander is maintained by me or have a specific patches.

Quote from: wp
It is a bit unusal that the KASToolbar package used by the project has a dependence of the project-specific package doublecmd_common.
KASToolbar is written by me specially for Double Commander. Really doublecmd_common is a general purpose package, it does not have a project-specific only stuff.
« Last Edit: December 03, 2023, 02:08:05 pm by Alexx2000 »

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4541
  • I like bugs.
Re: TCustomShellTreeView.GetFilesInDir() in KASComp package
« Reply #7 on: December 03, 2023, 04:26:17 pm »
OK.
In any case Double Commander is a nice file manager. For some reason I have not used it much. I mainly use KDE's own Dolphin.
I will use Double Commander more for real action in the future.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

wp

  • Hero Member
  • *****
  • Posts: 12476
Re: TCustomShellTreeView.GetFilesInDir() in KASComp package
« Reply #8 on: December 03, 2023, 06:23:18 pm »
Quote from: wp
It is a bit unusal that the KASToolbar package used by the project has a dependence of the project-specific package doublecmd_common.
KASToolbar is written by me specially for Double Commander. Really doublecmd_common is a general purpose package, it does not have a project-specific only stuff.
Sorry, this was not meant to be some kind of criticism. Just built the Double-Commander, and I see that it is an amazing product!

But one question: you mention that some third-party packages "have a specific patches". Which effect does this have on my system? For example you include a v3.1 of DCPCrypt while the version distributed by OPM is v2.0.4.2. It is a problem in the Lazarus package system that only a single package can exist within the IDE. So, when I write an application needing DCPCrypt I will be using your version after I compiled Double-Commander, and maybe use features which are not available in the "normal" version 2.0.4.2, and when I publish my application as open source users may not be able to compile it because they cannot resolve this dependence (and even I myself may have forgotten about it).

Therefore my suggestion: Rather than adding these modified third-party components to your project as packages could you just set the unit path of the project to point to them. Of course, components in these packages must be created at runtime then. This way a user could use a modified package in addition to an already installed package.

Alexx2000

  • Newbie
  • Posts: 6
Re: TCustomShellTreeView.GetFilesInDir() in KASComp package
« Reply #9 on: December 03, 2023, 07:22:01 pm »
I think I should to rename DCPcrypt in Double Commander sources. It contains many changes. So it will not conflict with original version.

GifAnim in OPM already contains an old version from Double Commander. So it can be updated in OPM from Double Commander sources. As I know it is not maintained by original author.

 

TinyPortal © 2005-2018