Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Использование контентных функций в wfx-плагине 
Author Message
vlarx



PostPosted: Fri Oct 23, 2009 08:38    Post subject: Reply with quote

Code:

function FsContentGetSupportedField(FieldIndex:integer;FieldName,Units:pchar; maxlen:integer):integer; stdcall;
begin
  MessageBoxA(0, PChar('Test FsContentGetSupportedField'), '', 0);
  Units[0]:=#0;
  if (FieldIndex<0) or (FieldIndex>=2) then begin
    Result:=FT_NOMOREFIELDS;
    Exit;
  end;
  StrLCopy(FieldName, _Fields[FieldIndex], MaxLen);
  Result:=ft_string;
end;

function FsContentGetValue(fn: pchar; FieldIndex, UnitIndex: integer;
  FieldValue: PChar; maxlen, flags: integer): integer; stdcall;
begin
  MessageBoxA(0, PChar('Test FsContentGetValue'), '', 0);
  case FieldIndex of
     0: StrLCopy(FieldValue, PChar('Test 1'), MaxLen);
     1: StrLCopy(FieldValue, PChar('Test 2'), MaxLen);
  end;
  if (Result=FT_STRING) and (lstrlen(FieldValue)=0) then
    Result:= FT_FIELDEMPTY;
end;

function FsContentGetDefaultView(ViewContents,ViewHeaders,ViewWidths,
  ViewOptions:pchar;maxlen:integer):bool; stdcall;
begin
  result:=true;
  StrPCopy(ViewContents,'[fs.'+_Fields[0]+']\n[fs.'+_Fields[1]+']');
  StrPCopy(ViewHeaders,_Fields[0]+'\n'+_Fields[1]);
  StrPCopy(ViewWidths,'100,25,75,85');
end;

//..

exports
      FsContentGetDefaultView,
      FsContentGetSupportedField,
      FsContentGetValue,
      FsInit,
      FsFindFirst,
      FsFindNext,
      FsGetDefRootName,
      FsFindClose;


FsContentGetDefaultView отрабатывает нормально, показывая то, что мне нужно.
Сообщений "Test FsContentGetSupportedField" и "Test FsContentGetValue" не появляется при показе папок и файлов в плагине. При каком событии или условии Коммандер должен вызывать эти функции?
Может что-то специальное нужно указать в FsFindFirst, FsFindNext?
View user's profile Send private message ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group