specification for developing plugins

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

Moderators: Hacker, petermad, Stefan2, white

Post Reply
eeevictor
Junior Member
Junior Member
Posts: 5
Joined: 2006-07-12, 13:44 UTC

specification for developing plugins

Post by *eeevictor »

I am learning developing plugins
and I write a simple wcx plugin,while configuring the plugin,TC always warn me it is not a valid plugin,what should I do?
how can I develop a valid plugin
where can I find the specification for developing plugins?
thank you!
djorge
Senior Member
Senior Member
Posts: 422
Joined: 2003-07-03, 12:48 UTC
Location: Portugal

Post by *djorge »

Did you export all the required functions?
Did you have the "def" file with all the functions you exported?

where can I find the specification for developing plugins?
Go to official TC page
______________________
David Jorge
Personal License #117854
User avatar
Stance
Power Member
Power Member
Posts: 1079
Joined: 2005-03-29, 06:26 UTC

Post by *Stance »

Hi eeevictor!
eeevictor wrote:where can I find the specification for developing plugins?
http://www.totalcmd.net/directory/developer.html
Kind regards
Stance
eeevictor
Junior Member
Junior Member
Posts: 5
Joined: 2006-07-12, 13:44 UTC

Post by *eeevictor »

thank you very much,djorge and Stance!
alexione
New Member
New Member
Posts: 1
Joined: 2006-10-09, 16:12 UTC

Post by *alexione »

Hi!

I'm trying to make a WCX (packer) plugin for my .wep archiving format. I've spent whole day compiling my project again and again and I can't get valid plugin.

Here's part of my wepackage.cpp:

HANDLE __stdcall OpenArchive(OpenArchiveData *ArchiveData)
{
DebugLog("OpenArchive\n");
...
}

int __stdcall CloseArchive(HANDLE hArcData)
{
DebugLog("CloseArchive\n");
...
}


int __stdcall ReadHeader(HANDLE hArcData, HeaderData *HeaderData)
{
DebugLog("ReadHeader\n");
return E_EREAD;
}


int __stdcall ProcessFile(HANDLE hArcData, int Operation, char *DestPath, char *DestName)
{
DebugLog("ProcessFile\n");
return E_EREAD;
}


void __stdcall SetChangeVolProc(HANDLE hArcData, ChangeVolProc pChangeVolProc1)
{
DebugLog("SetChangeVolProc\n");
}


void __stdcall SetProcessDataProc(HANDLE hArcData, ProcessDataProc pProcessDataProc)
{
DebugLog("SetProcessDataProc\n");
}


int __stdcall GetPackerCaps()
{
return PK_CAPS_MULTIPLE;
}


BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
DebugLog("DllMain %d\n", ul_reason_for_call);
return TRUE;
}


And here's my wepackage.def:

EXPORTS
OpenArchive
CloseArchive
ReadHeader
ProcessFile
SetChangeVolProc
SetProcessDataProc
GetPackerCaps


Does anybody have idea why this doesn't work? I'm using VS 2005.

Thanx in advance!
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50475
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Dou you get any error message? If yes, which?

Please verify with with FileInfo lister plugin whether the functions are really exported with these names, and not with the mangled C++ names.
Author of Total Commander
https://www.ghisler.com
Post Reply