Plugin interface descriptions for TC 7.55 (beta)

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: white, Hacker, petermad, Stefan2

User avatar
Flint
Power Member
Power Member
Posts: 3487
Joined: 2003-10-27, 09:25 UTC
Location: Antalya, Turkey
Contact:

Post by *Flint »

BTW, isn't it time to move the specifications out of beta?
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
 
Using TC 10.52 / Win10 x64
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Yes, I think that this is a good idea - when I find the time...
Author of Total Commander
https://www.ghisler.com
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

The plugin writer's guides are out of beta now, you can get them from the plugins page here:
http://www.ghisler.com/plugins.htm

There were no changes to the actual functions since the last beta.
Author of Total Commander
https://www.ghisler.com
User avatar
Flint
Power Member
Power Member
Posts: 3487
Joined: 2003-10-27, 09:25 UTC
Location: Antalya, Turkey
Contact:

Post by *Flint »

ghisler(Author)
Hm… I just looked there, but there are still old versions (2.20 for WCX, 2.0 for WDX/WFX/WLX).
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
 
Using TC 10.52 / Win10 x64
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Thanks for the warning, please try again now!
Author of Total Commander
https://www.ghisler.com
User avatar
Flint
Power Member
Power Member
Posts: 3487
Joined: 2003-10-27, 09:25 UTC
Location: Antalya, Turkey
Contact:

Post by *Flint »

Nearly everything's fine, just fix the typo on the Plugins page that refers to inexistent file:
http://ghisler.fileburst.com/content/contentpluginhelp2.2.zip
The link should be:
http://ghisler.fileburst.com/content/contentpluginhelp2.1.zip
Flint's Homepage: Full TC Russification Package, VirtualDisk, NTFS Links, NoClose Replacer, and other stuff!
 
Using TC 10.52 / Win10 x64
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Thanks - seems to be on the English page only...
Author of Total Commander
https://www.ghisler.com
User avatar
ts4242
Power Member
Power Member
Posts: 2081
Joined: 2004-02-02, 20:08 UTC
Contact:

Post by *ts4242 »

2ghisler(Author)

All Plugin interface descriptions are use hlp format. Is it possible to provide them as chm? because Win 7 doesn't support the hlp format without a special download.

Of course i can convert them myself, but it is better to be available for all plugins page visitors.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

I will consider it - but I think that developpers should be clever enough to install the hlp viewer for Windows 7. :)
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

ghisler(Author) wrote:I will consider it - but I think that developpers should be clever enough to install the hlp viewer for Windows 7. :)
Agree. :)


Christian,

I found an error in ContentDefaultParamStruct description (WDX API help):
typedef struct {

int size;
DWORD PluginInterfaceVersionLow;
DWORD PluginInterfaceVersionHi;
char DefaultIniName[MAX_PATH];
} ListDefaultParamStruct;
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

I will fix it, thanks!
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Christian, it would be great to reflect details described here in API documentation (use MaxLen parameter name for string lengths, MaxChars for buffer sizes in characters, MaxBytes for buffer sizes in Bytes, and use const modifier for input only strings/buffers/structs).
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Unfortunately changing these headers would probably break almost all existing plugins...
Author of Total Commander
https://www.ghisler.com
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Christian, no one tells to authors of existing plugins to use theese headers, they can still use their own old copies. But new ones will use correct headers.

And, only a few changes in code required - to add const modifiers for pointers that work with input (constant) strings/buffers (such buffers must not be written anyway).

Also, if function prototype differs from its declaration in CPP, compiler just ignores prototype (if function is not called from another CPP by including header with prototype). Even more, it is OK when variable names in prototypes and realization differ (compiler compares only types).
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

For example, people who add Unicode support to their plugins will get the latest headers - but this will break their existing plugins if the parameters change.
Author of Total Commander
https://www.ghisler.com
Post Reply