Возврат ft_time в FsContentGetValue

Только для тех, кто пишет плагины под Total Commander. Обмен опытом, решение проблем.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Возврат ft_time в FsContentGetValue

Сообщение D1P »

В общем, либо лыжи не едут, либо одно из двух.
Пытаюсь в плагине вернуть время. Плагин файлсистемный, но задача одинакова и для контентного.

Итак, функция такая:

Код: Выделить всё

function FsContentGetValue(FileName:pchar;FieldIndex,UnitIndex:integer;FieldValue:pbyte;
  maxlen,flags:integer):integer; stdcall;
Возвращаю поле, указываю, что это ft_time, т.е. FieldValue ссылается на структуру TTimeFormat

Код: Выделить всё

type ttimeformat=record
       wHour,wMinute,wSecond:word;
     end;

     ptimeformat=^ttimeformat;
В коде функции пишу примерно следующее:

Код: Выделить всё

ptimeformat(FieldValue).wHour=1
ptimeformat(FieldValue).wMinute=2
ptimeformat(FieldValue).wSecond=3
но вместо ожидаемого значения 01:02:03 TC в колонке выводит бедиберду вроде Nor0312l, Nor0412l (что примечательно, чем больше цифры в этой белиберде, тем большее время я пытался задать, то есть некая связь, в принципе, есть).

Подскажите, куда копать, или поделитесь кусочком кода на delphi.

UPD: проблема решена. Старый принцип "стоит попросить у кого-то помощи, и ответ становится очевиден тут же" опять сработал. Косяк был в том, что у возвращаемого поля при настройке его в TC неверно было проставлено значение units.
Ответить