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: Stefan2, white, sheep, Hacker

User avatar
Flint
Power Member
Power Member
Posts: 3168
Joined: 2003-10-27, 09:25 UTC
Location: Moscow, Russia
Contact:

Post by *Flint » 2010-07-15, 14:48 UTC

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 9.21a / Win7 x64 SP1, Win10 x64

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 37495
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2010-07-18, 13:48 UTC

Yes, I think that this is a good idea - when I find the time...
Author of Total Commander
http://www.ghisler.com

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 37495
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2010-07-23, 20:48 UTC

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
http://www.ghisler.com

User avatar
Flint
Power Member
Power Member
Posts: 3168
Joined: 2003-10-27, 09:25 UTC
Location: Moscow, Russia
Contact:

Post by *Flint » 2010-07-28, 08:45 UTC

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 9.21a / Win7 x64 SP1, Win10 x64

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 37495
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2010-07-28, 14:57 UTC

Thanks for the warning, please try again now!
Author of Total Commander
http://www.ghisler.com

User avatar
Flint
Power Member
Power Member
Posts: 3168
Joined: 2003-10-27, 09:25 UTC
Location: Moscow, Russia
Contact:

Post by *Flint » 2010-07-28, 16:24 UTC

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 9.21a / Win7 x64 SP1, Win10 x64

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 37495
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2010-07-29, 15:14 UTC

Thanks - seems to be on the English page only...
Author of Total Commander
http://www.ghisler.com

User avatar
ts4242
Power Member
Power Member
Posts: 2063
Joined: 2004-02-02, 20:08 UTC
Contact:

Post by *ts4242 » 2011-03-29, 19:28 UTC

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: 37495
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2011-03-31, 12:36 UTC

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
http://www.ghisler.com

User avatar
MVV
Power Member
Power Member
Posts: 8286
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV » 2011-04-06, 13:51 UTC

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: 37495
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2011-04-07, 12:50 UTC

I will fix it, thanks!
Author of Total Commander
http://www.ghisler.com

User avatar
MVV
Power Member
Power Member
Posts: 8286
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV » 2012-03-02, 07:44 UTC

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: 37495
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2012-03-02, 10:23 UTC

Unfortunately changing these headers would probably break almost all existing plugins...
Author of Total Commander
http://www.ghisler.com

User avatar
MVV
Power Member
Power Member
Posts: 8286
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV » 2012-03-02, 12:44 UTC

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: 37495
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2012-03-02, 16:42 UTC

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
http://www.ghisler.com

Post Reply