Hello!
I am writing my first TotalCommander Plugin and implemented these functions:
OpenArchive,
CloseArchive,
ReadHeader,
ReadHeaderEx,
ReadHeaderExW,
ProcessFile,
SetChangeVolProc,
SetProcessDataProc,
GetPackerCaps,
ConfigurePacker;
The packer caps are:
PK_CAPS_MULTIPLE or PK_CAPS_OPTIONS or PK_CAPS_SEARCHTEXT;
Almost everything works fine. I can open the archive and copy files out of it. Even the "compare files by content" function works with my archive. But there are two functions (I know of) where TotalCommander should access the content of files within my archive but doesn't:
1) The searching for text within files in my archive always returns 0 results
2) Synchronize directories: When I synchronize two directories, one in my archive and the other one on my hd, the comparison of file names, sizes and times works fine. But the compare content option doesn't work. It only shows the red question marks between two possible identical files and thats it. The file contents doesn't get compared.
I don't know what I'm doing wrong here. Do I need to implement another function? Can someone help me please?
Greetings
Popelmaus
WCX: TC doesn't access file contents
Moderators: Hacker, petermad, Stefan2, white
Trying to avoid the problem, I have now written my first filesystem plugin. But the problem stays exactly the same!
Ok, searching for text in files of my filesystem works now. But the synchronizing problem hasn't changed.
I tested it, comparing file contents works with zip rar and iso-plugins. So it should be possible to work with my plugins... What am I missing here?
Edit:
It works for the packer plugin!
I recently changed the packer caps but didn't reinstall the plugin. Now after reinstalling, it works.
But now i like the the file system plugin better
And the problem remains on this plugin...
But reinstalling doesn't change anything here.

Ok, searching for text in files of my filesystem works now. But the synchronizing problem hasn't changed.
I tested it, comparing file contents works with zip rar and iso-plugins. So it should be possible to work with my plugins... What am I missing here?
Edit:
It works for the packer plugin!
I recently changed the packer caps but didn't reinstall the plugin. Now after reinstalling, it works.
But now i like the the file system plugin better

And the problem remains on this plugin...
But reinstalling doesn't change anything here.
I think the problem is "solved".
It seems that TC just doesn't support a couple of things for file system plugins. I tried another wfx plugin and synchronize by content didn't work too. And i recognized other things like Ctrl+B is (partially) supported for wcx plugins but not for wfx plugins. And if you copy directories out of a wcx plugin the last write times of this directories are correctly set to the same as in the archive but with a wfx plugin all directorie's last write times are set to the current time.
Thats very sad because i can't do anything about it. But at least I can stop searching for errors...
It seems that TC just doesn't support a couple of things for file system plugins. I tried another wfx plugin and synchronize by content didn't work too. And i recognized other things like Ctrl+B is (partially) supported for wcx plugins but not for wfx plugins. And if you copy directories out of a wcx plugin the last write times of this directories are correctly set to the same as in the archive but with a wfx plugin all directorie's last write times are set to the current time.
Thats very sad because i can't do anything about it. But at least I can stop searching for errors...
- ghisler(Author)
- Site Admin
- Posts: 50479
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Searching for text should definitely work - I just tried it with the 7zip plugin: To allow TC to search for text in your packer plugin, you need to return the value PK_CAPS_SEARCHTEXT (numberical: 128) in function GetPackerCaps. But you write that you already do this - maybe the function isn't properly exported?
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com