I would like to add some info about hramov's report.
We (hramov and me) are tested very simple fs-plugin on two different computers. On one of them FsGetPreviewBitmap is called and bitmap is shown correctly in thumbnail view. On another computer FsGetPreviewBitmap is not called at all.
Both computer running the same version of TC and test was made with empty ini file.
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
hmyself=hModule;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
I want to accent - I'v checked this with TC 7.02a on two computers - WinXP SP1 and WinXP SP2 with the same executables files (both totalcmd and plugin).
FsGetPreviewBitmap is called on WinXP SP1 and is not called on Win XP SP2.
2VadiMGP
I have downloaded and debugged the plug-in here on my German Windows XP Pro SP2. It stops fine here in FsGetPreviewBitmap. The bitmap is displayed properly in thumbnail view.
Maybe TC gets confused by the random data returned by FsFindFirst. Try clearing the WIN32_FIND_DATA structure via
memset(FindData,0,sizeof(WIN32_FIND_DATA));
before setting any parts of it.
Does it work when you leave out the functions
BOOL __stdcall FsLinksToLocalFiles(void)
and
BOOL __stdcall FsGetLocalName(char* RemoteName,int maxlen)
?
Maybe TC is somehow trying to get the preview image from the linked file? I checked that in my source and couldn't confirm it, but I cannot exclude that it works like that in some previous version.
I deleted function
BOOL __stdcall FsLinksToLocalFiles(void)
and
BOOL __stdcall FsGetLocalName(char* RemoteName,int maxlen)
in *.cpp, *.h and *.def files, but no change.
Hi. I have this problem too. I use Delphi 7 under Windows 2003 Enterprise (no SP installed).
I wrote simple debugging application. It just load wfx library, find FsGetPreviewBitmap procedure adress and call it with some parameters. But standart GetProcAddress function doesn't return procedure adress in this case! Why? I have no idea...