View previous topic :: View next topic |
Author |
Message |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Fri Jan 12, 2007 21:48 Post subject: |
|
|
2D1P
Как по-другому? Надо присваивать nil или копировать *глобальную пустую переменную. Запись strcopy(.., '') означает работу с временной переменной, и это может глюкнуть в какой-нибудь версии Дельфей (а может и не глюкнуть) _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
D1P

Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Fri Jan 12, 2007 22:41 Post subject: |
|
|
Вот же Фома неверующий. Специально для тебя проделал эксперимент, см. скриншоты.
1) units:=nil; //по идее это ДОЛЖНО делать строку пустой. Но фактически делает так, что она начинает указывать в никуда, и в результате TC может отобразить её как угодно.
http://super.wincmd.ru/_tmp/shot/Png1.png
http://super.wincmd.ru/_tmp/shot/Png2.png
2) strcopy (units,'');
http://super.wincmd.ru/_tmp/shot/Png3.png
http://super.wincmd.ru/_tmp/shot/Png4.png
3) units:=#0; //по сути то же что и units:=nil или units:=0
http://super.wincmd.ru/_tmp/shot/Png5.png
http://super.wincmd.ru/_tmp/shot/Png6.png
4) units[0]:=#0; //какие изменения от предыдущего? Да вроде никаких, только меняем не указатель, а переменную по адресу.
http://super.wincmd.ru/_tmp/shot/Png7.png
http://super.wincmd.ru/_tmp/shot/Png8.png
Так что, как видишь, к nil приравнивать нельзя, как раз вот такая бяка и получается (units тогда может содержать произвольный набор данных).
Вероятность того, что strcopy глюканёт, не больше того, что глюканёт оператор присваивания, хотя согласен с тем, что юзать units[0]:=#0; красивее (зато при использовании strcopy надо будет делать меньше движений, чтобы добавить юниты, если они понадобятся). _________________ База знаний о Total Commander
Блог |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
(Separately) Posted: Fri Jan 12, 2007 22:56 Post subject: |
|
|
2D1P
Да, ты прав.
//Я сначала подумал, что Units это "var PChar" (т.е. мы должны вернуть указатель на нашу строку), а он просто PChar (т.е. должны заполнить Тоталовскую строку). Невнимательно док-цию посмотрел... _________________ UniViewer - CudaText - LogViewer
|
|
Back to top |
|
 |
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Fri Jan 12, 2007 23:16 Post subject: |
|
|
D1P, Вы были полностью правы, но почему то в документации этот факт ни как не отражен. Версия обновлена. |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
Sam Dark

Joined: 25 Apr 2005 Posts: 484 Location: Voronezh, Russia
|
|
Back to top |
|
 |
Lazy Crazy

Joined: 16 Jan 2005 Posts: 400
|
(Separately) Posted: Wed Jan 17, 2007 01:40 Post subject: |
|
|
У меня почему-то не сохраняется в настройках включение галочки "История"... Т.е. после включения (для, допустим, jpeg`ов) всё работает, но только до выхода из TC. При новом запуске - всё по нулям...
И ещё - нельзя ли в настройках как-то запоминать вариант просмотра (ака "набор колонок")? _________________
 |
|
Back to top |
|
 |
D1P

Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Wed Jan 17, 2007 02:03 Post subject: |
|
|
Наборы колонок для системных плагинов "запоминаются" стандартными средствами TC. Делаешь произвольные наборы, для одного из них ставишь галочку "переключаться на этот набор при использовании плагина". _________________ База знаний о Total Commander
Блог |
|
Back to top |
|
 |
Lazy Crazy

Joined: 16 Jan 2005 Posts: 400
|
(Separately) Posted: Wed Jan 17, 2007 04:59 Post subject: |
|
|
D1P wrote: | Наборы колонок для системных плагинов "запоминаются" стандартными средствами TC. Делаешь произвольные наборы, для одного из них ставишь галочку "переключаться на этот набор при использовании плагина". |
А стандартный, "Краткий" например? Или обязательно по-новой собирать? _________________
 |
|
Back to top |
|
 |
Lazy Crazy

Joined: 16 Jan 2005 Posts: 400
|
(Separately) Posted: Wed Jan 17, 2007 05:01 Post subject: |
|
|
А что касается незапоминания галочки "история" - то не для всех форматов это не работает. Для "встроенных графических форматов" - не работает; для TXT - работает... _________________
 |
|
Back to top |
|
 |
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Wed Jan 17, 2007 09:54 Post subject: |
|
|
Quote: | А что касается незапоминания галочки "история" - то не для всех форматов это не работает. Для "встроенных графических форматов" - не работает; для TXT - работает... |
Это баг моего кода, поправлю. |
|
Back to top |
|
 |
llELViSll

Joined: 08 Jan 2007 Posts: 15
|
(Separately) Posted: Fri Jan 19, 2007 02:22 Post subject: |
|
|
Поставил и себе плагин. Как раз то что не хватало.Спасибо автору. |
|
Back to top |
|
 |
D1P

Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Sun Jan 21, 2007 18:43 Post subject: |
|
|
Заметил очень неприятную ошибку: при попытке сделать через Alt+PrScr скриншот окна приложения, использующего GDI+ (конкретно - ICQ-клиент RnQ) плагин зависает (если он, само собой, включён). Процессор при этом грузится на 100%, убрать это можно только убив TC через таскменеджер. Отключение галок "Обрабатывать Alt+PrintScreen" и "Уведомлять об очистке фона" не помогает.
Ещё заметил, что в таких случаях (с "убийством" TC) настройки плагина не сохраняются (например убранные галочки снова выставлены). _________________ База знаний о Total Commander
Блог |
|
Back to top |
|
 |
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Mon Jan 22, 2007 00:03 Post subject: |
|
|
Где можно скачать этот клиент для воспроизведения ошибки? |
|
Back to top |
|
 |
Alextp

Joined: 06 Feb 2005 Posts: 4957
|
|
Back to top |
|
 |
|