View previous topic :: View next topic |
Author |
Message |
gryja
Joined: 21 Nov 2016 Posts: 13
|
(Separately) Posted: Sat Mar 21, 2020 17:58 Post subject: Ошибки программы Total Commander при работе с плагинами |
|
|
Я извиняюсь, что пишу это сообщение здесь, но мне посоветовали.
Здравствуйте. Пишу WDX-плагин, точнее, уже написал. Всё время думал, что у меня какая-то ошибка, я чего-то не понимаю - плагин периодически вёл себя не так, как нужно. На глюки тотала я не пенял. Но вчера полностью убедился. При поиске дубликатов при помощи WDX-плагина тотал выдаёт не все результаты. Это - точно. Вот что я написал в описании своего плагина: "При сравнении (точнее - при поиске) 4-х файлов с разной кодировкой, но одинаковым исходным хэшем ("Строка необработанных данных"), а также при наличии 5-го - "другого", на некоторых коэффициентах усреднения один из файлов "выкидывался" из группы дублей. При удалении 5-го, "другого" файла дубли "опять становятся" дублями."
Вот ссылка на плагин: https://yadi.sk/d/aQFqheQaO_2iEA
Добавлено спустя 2 минуты:
Данная ошибка есть на всех версиях Total Commander, начиная с восьмой. |
|
Back to top |
|
 |
gryja
Joined: 21 Nov 2016 Posts: 13
|
(Separately) Posted: Wed Apr 22, 2020 15:21 Post subject: Дополнение к теме |
|
|
Хочу прибавить ясности.
Компилируем данный код в Лазарусе (Lazarus) -> dll:
Code: | Library TestForError;
{$EXTENSION 'wdx'}
Uses
SysUtils;
{=================================}
Function ContentGetSupportedField(FieldIndex: Integer; FieldName: PChar; Units: PChar; MaxLen: Integer): Integer; StdCall;
Begin
If FieldIndex > 100 Then
Result := 0
Else
Begin
If FieldIndex = 0 Then StrPCopy(FieldName, 'Строка необработанных данных');
If FieldIndex = 1 Then StrPCopy(FieldName, 'Отсортированный массив данных');
If FieldIndex > 1 Then StrPCopy(FieldName, 'Усреднение значений на ' + IntToStr(FieldIndex - 1));
Result := 8;
End;
End;
{=================================}
Function ContentGetValue(FilePath: PChar; FieldIndex, UnitIndex: Integer; FieldValue: PChar; MaxLen, Flags: Integer): Integer; StdCall;
Var
HashString: String = '';
Begin
Result := 8;
HashString := '0003060U101L1R202F2O';
If ExtractFileExt(FilePath) = '.txt' Then HashString := '0003060X101L1O232F2R';
StrPCopy(FieldValue, HashString);
End;
{=================================}
Exports
ContentGetValue,
ContentGetSupportedField;
{=================================}
End.
|
Подключаем получившийся плагин к Total Commander.
Затем создаём папку на рабочем столе, а в этой папке - 5 пустых файлов с именами: 1.htm, 2.htm, 3.htm, 4.htm, 5.txt
Если бы Total Commander работал правильно, то при поиске дубликатов с применением данного WDX-плагина он выдал бы в качестве результатов 4 htm-файла. Ан нет. Только три.
Архив с исходником и тестовыми файлами: https://yadi.sk/d/IZTk2y_3NZt_Hg |
|
Back to top |
|
 |
gryja
Joined: 21 Nov 2016 Posts: 13
|
(Separately) Posted: Wed Jun 23, 2021 16:31 Post subject: SortUpper=1 |
|
|
При работе ключа SortUpper=1 в секции [Configuration] данная ошибка присутствует. При значениях 0, 2 и 3 - ошибка отсутствует.
Я, конечно, понимаю, что можно предварительно выставлять нужный ключ для нормальной работы плагина, но хотелось бы стабильности: кто знает, может быть и с другими ключами плагин работает неверно, просто ошибку не удаётся засечь. |
|
Back to top |
|
 |
Вахмурка

Joined: 27 Dec 2004 Posts: 2581 Location: Большая деревня Москва
|
(Separately) Posted: Thu Jun 24, 2021 08:15 Post subject: Re: Ошибки программы Total Commander при работе с плагинами |
|
|
2gryja
Почему бы тебе не обратиться к разработчику напрямую? Кроме него, ошибки в программе никто не исправит  _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
 |
gryja
Joined: 21 Nov 2016 Posts: 13
|
(Separately) Posted: Thu Jun 24, 2021 17:10 Post subject: |
|
|
Вот так вот, значит... Спасибо, что хотя бы предупредили... ! | Моторокер: | Флуд почистил | |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|