Прочитайте, как обстоят дела у сайта Дневников и как вы можете помочь!
×
19:50 

@Diary.Client 0.4.15

L.P.M.
Voilà.
Эта версия представляет собой продолжение перехода на MetaWeblog API и исправление ошибок, выявленных в двух предшествующих версиях.
 
Изменения:
– отправка записей «задним числом»: исправлена проблема с часовым поясом; теперь записи появляются с тем временем, которое было указано, а не на 3 и 4 часа позже;
– загрузка изображений в БИ: теперь загрузка выполняется через MWA, что позволяет избежать излишних запросов к серверу и, следовательно, делает загрузку более быстрой. При загрузке нескольких изображений подряд больше нет паузы между изображениями, а получаемые адреса картинок теперь всегда корректны (т.е. теперь невозможна ситуация, когда загружалось одно изображение, а появилось - другое);
– полноценная работа с аватарами: теперь аватар можно выбирать для записей, отправляемых «задним числом»; изменять при редактировании уже отправленных записей; появилась опция «Без аватара». Последнюю опцию можно сделать включенной по умолчанию для всех новых записей (настройки » вкладка Аватары);
– опция «Без комментариев», иногда сбоившая, снова полноценно работает;
– новые комментарии теперь определяются независимо от наличия или отсутствия других сообщений (баг в версии 0.4.13, из-за которого комментарии были видны только при наличии непрочитанных дискуссий или писем, исправлен);
– аналогично в экспресс-проверке (баг в версии 0.4.14, из-за которого экспресс-проверка не выводила число комментариев или дискуссий, если других новых сообщений не было, исправлен);
– из текста U-mail и из окон предпросмотра теперь можно копировать в буфер обмена;
– ссылки в U-mail теперь открываются в браузере, выбранном вами, а не всегда в Internet Explorer;
– тэг CODE теперь обрабатывается на сервере и, следовательно, выглядит так же, как при создании записей с сайта.

Обновление по необходимости.

По прежнему адресу:
http://photonid.com/diary/atclient/atdiary.client.rar - 772 кБ.

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

@темы: @дневники

Комментарии
2008-09-01 в 05:12 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
Не успела ещё обновиться, но, судя по всему, не поправлено:
justamente.diary.ru/p47697992.htm

2008-09-01 в 11:22 

Подкроватный дракон ;)
L.P.M. Спасибо большое)))))))))))

2008-09-01 в 20:50 

L.P.M.
Voilà.
Линда Кайе, обработка [CODE], начиная с этой версии, происходит на стороне сервера. Действительно, забыл об этом упомянуть)

Lady_Asher ReaL, ^___^

2008-09-01 в 21:28 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
Тоесть всёже тебе удалось донести до админов важность тэга? O_O Круто ^___^

2008-09-01 в 21:49 

L.P.M.
Voilà.
Линда Кайе, нет, они это сделали самостоятельно. )

2008-09-01 в 21:55 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
Хммм... А почему CRLF не работает? И как-то странно размеры прыгают...

2008-09-01 в 23:14 

L.P.M.
Voilà.
Линда Кайе,
А почему CRLF не работает? И как-то странно размеры прыгают...
Боюсь, я не очень понял, в чем именно проблема ^^'

2008-09-01 в 23:42 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
Пишу две строки, заключаю в CODE, на выходе получаю одну строку...


2008-09-01 в 23:44 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
Было:

{00000309-0000-0000-C000-000000000046}
{0000030B-0000-0000-C000-000000000046}
{00000315-0000-0000-C000-000000000046}
{00000316-0000-0000-C000-000000000046}


Кстати, это не PRE, а должен был бы быть...

2008-09-01 в 23:45 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
Кстати, сильно напомнинает костыли на Блогах с горизонтальной прокруткой сшишком широкого поста...

2008-09-01 в 23:49 

L.P.M.
Voilà.
Пишу две строки, заключаю в CODE, на выходе получаю одну строку...




Пишу две строки, заключаю в CODE, на выходе получаю одну строку...
спорное утверждение
я, например, жалею, что не додумался ^^'

2008-09-02 в 00:13 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
Эээээ... Значит Ajax. Тоесть при добавлении коммента BR не вставляется...

я, например, жалею, что не додумался ^^'

До чего?

2008-09-02 в 21:24 

L.P.M.
Voilà.
Эээээ... Значит Ajax. Тоесть при добавлении коммента BR не вставляется...
В текстарее не должно быть BR
Но глюк теперь понятен, спасибо )

До чего?
до использования textarea

2008-09-02 в 23:06 

Masque
Cherka Trova
Разпаковал, ввел логин, пароль (галочку входа без пароля не убирал), нажал "Войти". Кнопка нажата, и ноль эффекта. Может, я чего не так делаю...

2008-09-03 в 00:25 

L.P.M.
Voilà.
Masque, для начала, пожалуйста, назовите операционную систему.
puis, если подождать подольше, все равно ничего не происходит?
эти программы могут влиять на вход в систему: WinAMP, Windows Media Player, Internet Explorer. Если что-то из этого запущено, можно попробовать их закрыть и войти снова. Обязательно напишите, если получится :)

Если нет, то -
1) какие-то новые файлы появились в папке клиента после запуска? Внутри папки пользователя (называется по никнейму), если таковая присутствует, если можно, тоже.
2) будет ли возможность проверить другую версию, если я прямо здесь ее выложу? Скорее всего, придется сделать это 2-3 раза.

2008-09-03 в 08:32 

Masque
Cherka Trova
L.P.M.
ОС Windows XP Home
из названых програм ничего не запущено, отключал и firefox, и все прочее, без изменений

после запуска самого клмента распаковывается множество файлов, после ввода логина - появляется соответствующая папка и файл настроек, при нажатии кнопки "Войти" возникает папа smilies и в ней 1 файл, далее ничего. Я думал, клиент грузит картинки БИ и аватары, но с моим соединением в 3Мбит он бы сайлы-то точно загрузил минут за 10..

да и кстати, после нажатия кнопки почем-то выделяется строка с паролем, хотя он точно введен правильно.

Возможность тестить есть сколько угодно.

2008-09-03 в 10:57 

L.P.M.
Voilà.
Masque, diary.photonid.com/client/beta/atdiary.client.0... - 772 кБ
архив можно распаковать в ту же папку (поверх старой версии) или отдельно и, соответственно, запустить программу, попробовать еще раз, как в прошлый раз.
во-первых, возможно, будет выведено какое-то сообщение об ошибке;
во-вторых, в папке программы появится файл debug.txt;
содержание обоих давайте прямо сюда.

2008-09-03 в 11:34 

Masque
Cherka Trova
Ошибка: при загрузке профиля Masque были допущены ошибки. Возможно, некоторые фалы были удалены или заняты другой программой. Продолжить? (далее две кнопки с вариантами ответа)
После ответа "Да" открывается клиент.

Файл debug.txt as is в следующем комменте

2008-09-03 в 11:35 

Masque
Cherka Trova
application started
enter()
verified
init
loading profile
loading (2)
loading (3)
loading (4)
loading (5)
{user}\buffer
{user}\*.bin
{profile}
ok
loading tags
ok
common files
ok
birthdays ok
loaded profile
verified smileys
loaded smileys
_d[] init
saving profile
ok
preparing (1)
preparing (2)
preparing (3)
preparing (4)
preparing (5)
run()
frm.run() 1
frm.run() 2
frm.run() 3
frm.run() 4
frm.run() 5
frm.run() 6
frm.run() 7
frm.run() 8
frm.run() 9
frm.run() 10
frm.run() 11
frm.run() 12
frm.run() 13
frm.run() 14
frm.run() 15
frm.run() 16
frm.run() 17
frm.run() 18
frm.run() 19
frm.run() 20
frm.run() 21
frm.run() 22
frm.run() 23
frm.run() 24
frm.run() 25
frm.run() 26
frm.run() 27
frm.run() 28
frm.run() 29
frm.run() 30
frm.run() 31
frm.run() 32
frm.run() 33
frm.run() end
ok
preparation ok
show()
show ok
ok
interface reset ok
end procedure

2008-09-03 в 11:38 

Masque
Cherka Trova
Так же выявлены какие-то проблемы с отображением кодировки, но я не со своего компа щас, может, просто глюки винды.

2008-09-03 в 12:49 

L.P.M.
Voilà.
ОК, тогда так: http://diary.photonid.com/client/beta/atdiary.client.0.4.15.2.rar - 773 кБ
Лучше (для чистоты эксперимента) распаковать в новую папку, заново создать пользователя, попробовать войти. Если заработает, можно скопировать программу в старую папку (если там уже что-то настроено).
Если не заработает, действуем так же: сообщение об ошибке (если есть) и debug.txt сюда.

Так же выявлены какие-то проблемы с отображением кодировки, но я не со своего компа щас, может, просто глюки винды.
Можно подробнее?
В идеале со скриншотом.


Линда Кайе, ты тоже можешь попробовать эту версию - речь идет о координатах окна предпросмотра.

2008-09-03 в 13:03 

Masque
Cherka Trova
ошибок нет
[231375]
[231375]
[231375] application started
[238921] enter()
[238937] verified
[238937] init
[238937] loading profile
[238953] loading (2)
[238953] loading (3)
[238953] loading (4)
[238968] loading (5)
[238968] {user}\buffer
[238968] {user}\*.bin
[238984] {profile}
[239000] ok
[239000] loading tags
[239000] ok
[239015] common files
[239046] ok
[239046] birthdays ok
[239062] loaded profile
[239078] verified smileys
[239078] loaded smileys
[239078] _d[] init
[239093] saving profile
[239109] ok
[239109] preparing (1)
[239109] preparing (2)
[239125] preparing (3)
[239140] preparing (4)
[239140] preparing (5)
[239156] run()
[239156] frm.run() 1
[239171] frm.run() 2
[239171] frm.run() 3
[239171] frm.run() 4
[239187] frm.run() 5
[239187] frm.run() 6
[239203] frm.run() 7
[239203] frm.run() 8
[239218] frm.run() 9
[239234] frm.run() 10
[239250] frm.run() 11
[239250] frm.run() 12
[239250] frm.run() 13
[239265] frm.run() 14
[239265] frm.run() 15
[239281] frm.run() 16
[239281] frm.run() 17
[239296] frm.run() 18
[239296] frm.run() 19
[239296] frm.run() 20
[239312] frm.run() 21
[239312] frm.run() 22
[239328] frm.run() 23
[239343] frm.run() 24
[239359] frm.run() 25
[239359] frm.run() 26
[239375] frm.run() 27
[239375] frm.run() 28
[239390] frm.run() 29
[239390] frm.run() 30
[239390] frm.run() 31
[239406] frm.run() 32
[239406] frm.run() 33
[239421] frm.run() end
[239421] ok
[239421] preparation ok
[239437] show()
[239468] show ok
[239484] ok
[239484] interface reset ok
[239484] end procedure

2008-09-03 в 13:03 

Masque
Cherka Trova
Проблемы с кодировкой на этом компе не обнаружены, видимо глюки той винды.

2008-09-03 в 13:08 

L.P.M.
Voilà.
Masque, т.е., теперь все работает правильно?
судя по логу, это так.

Проблемы с кодировкой на этом компе не обнаружены, видимо глюки той винды.
Было бы неплохо все равно на них посмотреть, мало ли у кого еще будут такие глюки :)

2008-09-03 в 13:13 

Masque
Cherka Trova
Все работает совершенно правильно, включая закачку аватаров)) спасибо большое

правда, дневник импортироваться не хочет, выдает ошибку HTTP/1.1 302 Moved Temporarily

2008-09-03 в 14:46 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
L.P.M.

А может сделать опциональным парсинг CODE в клиенте, а то нововведения меня совсем не впечатлили... И хорошо бы код взять из Diary2LJ - там всё правильно отправляется...

2008-09-03 в 15:07 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
Хммм... Диалог теперь нормально выводится.

2008-09-03 в 15:39 

Masque
Cherka Trova
Вот на ноутбуке при входе и закрытии окна настроек возникают две ошибки вот такого вида:


апд. нормальной работе эта ошибка не мешает, более того, на ноутбуке заработал импорт дневника с сайта))

2008-09-03 в 16:06 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
Вот на ноутбуке при входе и закрытии окна настроек возникают две ошибки вот такого вида:

Buffer Overflow? ^^ А что за функция используется? /* Это я L.P.M. */

2008-09-03 в 16:27 

Masque
Cherka Trova
апд. данная ошибка выскакивает периодически.

2008-09-03 в 16:29 

L.P.M.
Voilà.
Что касается импорта: обычно помогает перезагрузить список сообществ (зеленая кнопка справа от списка, в главном окне программы).
Если нет, можно просто в окне импорта на второй вкладке указать адрес дневника (так, как он отображается в браузере).

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


Линда Кайе, GetEnvironmentStrings() =/ какой там буфер... я вообще этот кусок давно убрать хочу)

2008-09-03 в 16:34 

L.P.M.
Voilà.
апд. данная ошибка выскакивает периодически.
хорошо, тогда так: diary.photonid.com/client/beta/atdiary.client.0... - 773 кБ

а конкретное решение подождет до следующей официальной версии

2008-09-03 в 16:36 

Masque
Cherka Trova
Не мешает ни в коей мере)) звук выключил и работай спокойно))
Еще одно неудобство. При простановке в настройках флажка "Редактор в стиле дневника" почему-то не менается цвет шрифта ввода, да и css обрабатывается не совсем верно (в том случае, когда, как у меня, фон записи отличен от фона дневника). Мелочь, разумеется, но все же.
И Последнее, что удалось заметить при работе с клиентом: очень неудобно расположилась БИ рядом со вводом текста. Я, как и многие другие пользователи, предпочитаю друие файловые хранилища и давно уже БИ не пользуюсь, а потому занимать место, пусть оно даже будет оставаться пустым и девственно белым в окне создания записи, не рационально. Это моя скромная ИМХА.

В остальном огромное спасибо за терпение в отношении моей назойливейшей персоны и за проделанную работу вцелом)))

2008-09-04 в 03:36 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
И Последнее, что удалось заметить при работе с клиентом: очень неудобно расположилась БИ рядом со вводом текста. Я, как и многие другие пользователи, предпочитаю друие файловые хранилища и давно уже БИ не пользуюсь, а потому занимать место, пусть оно даже будет оставаться пустым и девственно белым в окне создания записи, не рационально. Это моя скромная ИМХА.

А если щёлкнуть справа рядом с границей окна? ^^'

2008-09-04 в 03:37 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
L.P.M.

Ээээ... А почему тогда в NTDLL?

2008-09-04 в 11:50 

L.P.M.
Voilà.
Линда Кайе,
А может сделать опциональным парсинг CODE в клиенте, а то нововведения меня совсем не впечатлили... И хорошо бы код взять из Diary2LJ - там всё правильно отправляется...
Код из Diary2LJ специфичен для LJ и на дайри, соответственно, работать корректно не будет :)
Ты вполне можешь сделать свою обработку CODE на этапе генерации XML-файла)

Ээээ... А почему тогда в NTDLL?
Не знаю, может, вызов пересылается именно туда)


Masque,
При простановке в настройках флажка "Редактор в стиле дневника" почему-то не менается цвет шрифта ввода
Т.е. для шрифта меняется все (размер, гарнитура и проч.), кроме цвета?

css обрабатывается не совсем верно (в том случае, когда, как у меня, фон записи отличен от фона дневника)
Для корректной обработки CSS нужно в окне редактора воспроизвести страницу дневника целиком, увы :)
Я посмотрю, что происходит с фоном, но в целом рекомендация одна - отключить пользовательские стили.
Еще можно вручную отредактировать стиль, который используется программой (на вкладке Предпросмотр в настройках кнопка «...» справа от выбора схемы).

И Последнее, что удалось заметить при работе с клиентом: очень неудобно расположилась БИ рядом со вводом текста.
Панелька БИ скрывается (по правому краю панели - зона, по которой нужно кликнуть), и размер ее регулируется в больших пределах.

^___^

2008-09-04 в 14:07 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
Код из Diary2LJ специфичен для LJ и на дайри, соответственно, работать корректно не будет :)
Ты вполне можешь сделать свою обработку CODE на этапе генерации XML-файла)


Тогда мне придётся делать отдельно XML для дайриков и отдельно - для всего остального, ибо в двух других клиентах всё и так путём ^^' В общем просим ^^ Ибо TEXTAREA - это хорошо, но PRE имеет совсем другой смысл.

Не знаю, может, вызов пересылается именно туда)

Так. Буфер выделяется самой операционной системой. Может ты его портишь? /* И если на то пошло, почему бы не использовать GetUserName[Ex]? */

2008-09-07 в 11:31 

L.P.M.
Voilà.
Линда Кайе, Тогда мне придётся делать отдельно XML для дайриков и отдельно - для всего остального, ибо в двух других клиентах всё и так путём ^^'
мне это кажется нормальным ^^'

В общем просим ^^ Ибо TEXTAREA - это хорошо, но PRE имеет совсем другой смысл.
потом - может быть

Так. Буфер выделяется самой операционной системой. Может ты его портишь?
как можно испортить буфер, если мне его еще не вернули? я его даже освобождаю в отдельном обработчике ошибок (ну, так сложилось).
подскажи лучше какой-нибудь простой метод определить активного пользователя в условиях Fast user switching ^^'
насколько я понимаю, даже GetForegroundWindow() действует в пределах текущей сессии
с терминальными сервисами не хочу связываться - у пользователя может не быть соответствующих привилегий

И если на то пошло, почему бы не использовать GetUserName[Ex]?
потому что эта функция возвращает имя владельца текущего потока, а не имя активного пользователя)
вспомни, мы как-то уже об этом говорили)

2008-09-07 в 13:13 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
мне это кажется нормальным ^^'

Джабберисты называют это костылями ^^'

потом - может быть

Ради интереса посмотри RSS justamente ^^'

как можно испортить буфер, если мне его еще не вернули? я его даже освобождаю в отдельном обработчике ошибок (ну, так сложилось).

Хммм... Ты туда ни чего не пишешь? Просто я иногда юзаю эту функцию и никогда у меня не было ни каких исключений...

насколько я понимаю, даже GetForegroundWindow() действует в пределах текущей сессии

Ээээ... GetForegroundWindow() действует в пределах рабочего стола ^^ Тоесть при переключении на другой рабочий стол эта функция вернёт 0.

подскажи лучше какой-нибудь простой метод определить активного пользователя в условиях Fast user switching ^^'

Terminal Services ^^

с терминальными сервисами не хочу связываться - у пользователя может не быть соответствующих привилегий

Врёшь, боярин ^^ Только что написала простенькую программу, которая получает уведомления о переключении пользователей - работает даже под гостем. Если уведомления не нравятся, могу копать дальше ^^



Объявления в TLB ^^

потому что эта функция возвращает имя владельца текущего потока, а не имя активного пользователя)
вспомни, мы как-то уже об этом говорили)


Вспомнила ^^ Мне просто не приходилов голову, что можно текущего пользователя доставать через переменные окружения - я даже не знаю как это делать ^^'

2008-09-07 в 13:13 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
ЁТП! >_<

2008-09-07 в 13:14 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
мне это кажется нормальным ^^'

Джабберисты называют это костылями ^^'

потом - может быть

Ради интереса посмотри RSS justamente ^^'

как можно испортить буфер, если мне его еще не вернули? я его даже освобождаю в отдельном обработчике ошибок (ну, так сложилось).

Хммм... Ты туда ни чего не пишешь? Просто я иногда юзаю эту функцию и никогда у меня не было ни каких исключений...

насколько я понимаю, даже GetForegroundWindow() действует в пределах текущей сессии

Ээээ... GetForegroundWindow() действует в пределах рабочего стола ^^ Тоесть при переключении на другой рабочий стол эта функция вернёт 0.

подскажи лучше какой-нибудь простой метод определить активного пользователя в условиях Fast user switching ^^'

Terminal Services ^^

с терминальными сервисами не хочу связываться - у пользователя может не быть соответствующих привилегий

Врёшь, боярин ^^ Только что написала простенькую программу, которая получает уведомления о переключении пользователей - работает даже под гостем. Если уведомления не нравятся, могу копать дальше ^^

Option Explicit

Implements ISubclasserCallback
Dim SBC As New ajpSubclasser

'====================================================================
Private Sub Form_Load()
asCenterFormEx Me.hWnd
If Not asIsInIDE() Then asSetWindowResIconAll Me.hWnd, "A_MAIN"

Set SBC.SubclasserCallbackObject = Me
SBC.hWnd = Me.hWnd

'If WTSRegisterSessionNotification(Me.hWnd, NOTIFY_FOR_ALL_SESSIONS) = 0 Then
If WTSRegisterSessionNotification(Me.hWnd, NOTIFY_FOR_THIS_SESSION) = 0 Then
MsgBox "Can't register notifications.", vbCritical
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
If WTSUnRegisterSessionNotification(Me.hWnd) = 0 Then
MsgBox "Can't unregister notifications.", vbCritical
End If

SBC.hWnd = 0
Set SBC.SubclasserCallbackObject = Nothing
Set SBC = Nothing
End Sub

'====================================================================
Private Sub ISubclasserCallback_WindowProc(ByVal SubclasserObject As Subclasser0100.ajpSubclasser, _
hWnd As Long, _
uMsg As Long, _
wParam As Long, _
lParam As Long, _
RetVal As Long, _
NoDef As Boolean)
Dim TXT As BStr

If uMsg = WM_WTSSESSION_CHANGE Then
Select Case wParam
Case WTS_CONSOLE_CONNECT
TXT = "WTS_CONSOLE_CONNECT"
Case WTS_CONSOLE_DISCONNECT
TXT = "WTS_CONSOLE_DISCONNECT"
Case WTS_REMOTE_CONNECT
TXT = "WTS_REMOTE_CONNECT"
Case WTS_REMOTE_DISCONNECT
TXT = "WTS_REMOTE_DISCONNECT"
Case WTS_SESSION_LOGON
TXT = "WTS_SESSION_LOGON"
Case WTS_SESSION_LOGOFF
TXT = "WTS_SESSION_LOGOFF"
Case WTS_SESSION_LOCK
TXT = "WTS_SESSION_LOCK"
Case WTS_SESSION_UNLOCK
TXT = "WTS_SESSION_UNLOCK"
Case WTS_SESSION_REMOTE_CONTROL
TXT = "WTS_SESSION_REMOTE_CONTROL"
Case Else
TXT = "Unknown"
End Select

TXT = "[" & asHexEx4(lParam) & "] " & TXT

Me.lstEvents.AddItem TXT
Me.lstEvents.ListIndex = Me.lstEvents.ListCount - 1
End If
End Sub


Объявления в TLB ^^

потому что эта функция возвращает имя владельца текущего потока, а не имя активного пользователя)
вспомни, мы как-то уже об этом говорили)


Вспомнила ^^ Мне просто не приходилов голову, что можно текущего пользователя доставать через переменные окружения - я даже не знаю как это делать ^^'

2008-09-07 в 22:08 

L.P.M.
Voilà.
Джабберисты называют это костылями ^^'
костылем в равной степени является CODE в клиенте ,-)

Ради интереса посмотри RSS justamente ^^'
о, я же говорю, [CODE] на дайри проходит ту же эволюцию, что и в клиенте
но об этом, кажется, тоже уже известно)

Хммм... Ты туда ни чего не пишешь? Просто я иногда юзаю эту функцию и никогда у меня не было ни каких исключений...
:nope:


Ээээ... GetForegroundWindow() действует в пределах рабочего стола ^^ Тоесть при переключении на другой рабочий стол эта функция вернёт 0.
Э... точно? слушай, так это же в точности то, что нужно)
Она точно так себя ведет? в MSDN я почему-то не нашел ничего конкретного про это)

2008-09-07 в 22:37 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
костылем в равной степени является CODE в клиенте ,-)

Да, но зато для этого не нужно писать отдельную прогу ^^

о, я же говорю, [*CODE*] на дайри проходит ту же эволюцию, что и в клиенте
но об этом, кажется, тоже уже известно)


Пока эволюция выглядит как-то нехорошо ^^'

{$IFDEF WIN32}
p := GetEnvironmentStrings;
{$ELSE}
p := GetDOSEnvironment;
{$ENDIF}


Сильно ^^'

Честно говоря, не понимаю в чём ошибка, если только функции Дельфи не модифицируют строку... А вообще, ни как не могу понять, что даёт этот код...

Э... точно? слушай, так это же в точности то, что нужно)

Разве? У меня например задействовано три рабочих стола, при чём на втором я бываю крайне часто... И ведь при этом смены пользователя не происходит...

Она точно так себя ведет? в MSDN я почему-то не нашел ничего конкретного про это)

Кажется у меня где-то была цитата из MSDN, в которой было объяснено, почему именно так. В частности говорилось, что это не даёт добраться до окна WinLogon...

2008-09-08 в 19:17 

L.P.M.
Voilà.
Да, но зато для этого не нужно писать отдельную прогу ^^
У тебя тоже есть прога, которая сделает это за тебя. К тому же она твоя личная ^^

Пока эволюция выглядит как-то нехорошо ^^'
Это всегда так)

А вообще, ни как не могу понять, что даёт этот код...
Имя активного пользователя в текущей консоли.

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

У меня например задействовано три рабочих стола, при чём на втором я бываю крайне часто... И ведь при этом смены пользователя не происходит...
Вообще, цель такая - чтобы клиент, находясь в невидимости для пользователя, не генерировал кучу уведомлений и не сбрасывал индикаторы новых сообщений (например, не загружал у-мылы, не имея возможности сообщить об этом пользователю). Полагаю, если пользователь уходит с текущего рабочего стола, он желает примерно того же. (Хотя, для рядового пользователя наличие нескольких рабочих столов - это не совсем нормально.)
В крайнем случае опцию можно отключить.

Тогда про WTS пока отложим. Суть моих сомнений заключалась в следующем: вызов WTSRegisterSessionNotification() возвращал ошибку, GetLastError() = 1314, "A required privilege is not held by the client"; Яндекс советует изменить привилегии через AdjustTokenPrivileges(), но предупреждает, что, если у пользователя изначально не установлена привиления, то это не получится.

2008-09-08 в 19:27 

Masque
Cherka Trova
Хм... а по поводу нескольких рабочих столов, что конкретно имеется в виду?

2008-09-09 в 06:46 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
L.P.M.

У тебя тоже есть прога, которая сделает это за тебя. К тому же она твоя личная ^^

Да, н оу меня есть ещё две программы (одна от тебя), которые и так это делают ^^'

Имя активного пользователя в текущей консоли.

Эээээ... Переключалась, вызывала у неактивного пользователя SET - там было его имя...

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

Хммм... БП ^^ Загадка...

Вообще, цель такая

Ну да, только это всёже не совсем то ^^ Тоесть если другой пользователь работает за машиной, то всё нормально. А если тот же, но на другом рабочем столе? Это уже ненормально, да и если машина заблокирована - тоже. А если запущен скринсейвер? ^^'

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

Ээээ... Вот сильно сомневаюсь. Если у меня Бэки перестанет проверять почту каждый раз когда я на другом рабочем столе (втором, рабочем столе скринсейвера, при блокировке), особенно если я буду активно переключаться или схожу попить чаю, то это будет малость нервировать.

Хотя, для рядового пользователя наличие нескольких рабочих столов - это не совсем нормально.

Девелоперы Магента думали (и продолжают думать) примерно также, и сия прога очень скоро отправилась на помойку. По крайней мере с моей машины.

Тогда про WTS пока отложим. Суть моих сомнений заключалась в следующем: вызов WTSRegisterSessionNotification() возвращал ошибку, GetLastError() = 1314, "A required privilege is not held by the client"; Яндекс советует изменить привилегии через AdjustTokenPrivileges(), но предупреждает, что, если у пользователя изначально не установлена привиления, то это не получится.

Ээээ... Но ведь я через гостя это тестировала, а у него прав минимум... Думаю, что это какой-то странный сценарий...

Masque

Имеются в виду рабочие столы Windows NT ^^ А также, в частности, моя программа Private Desktops ^^

2008-09-09 в 14:11 

L.P.M.
Voilà.
Да, н оу меня есть ещё две программы (одна от тебя), которые и так это делают ^^'
Ладно, давай так:
CODE в последней версии клиента работал некорректно. Соответственно, я могу его поправить сейчас, но существует большая вероятность, что при очередном изменении алгоритма парсера (вчера было последнее) он снова будет работать как-то не так; а мне сейчас нужно, чтобы максимальная часть функционала работала корректно. Поэтому CODE перенесен целиком на сервер, где правки в его работе можно будет проводить без клепания новых версий клиента.
потом - может быть означает, что в планах стоит косвенная возможность задания своих тегов, вот тогда в списке будет и CODE, определенный через white-space:pre.


А если тот же, но на другом рабочем столе? Это уже ненормально, да и если машина заблокирована - тоже. А если запущен скринсейвер? ^^'
L.P.M.: цель такая - чтобы клиент, находясь в невидимости для пользователя, не генерировал кучу уведомлений и не сбрасывал индикаторы новых сообщений ... в крайнем случае опцию можно отключить
Мне кажется, ненормально, когда после снятия блокировки клиент, как сплетница со стажем, начинает выдавать подряд и совершенно невовремя, кто, где был и что делал (в смысле, перемещения пользователей онлайн-оффлайн и новые комментарии). Вместо всего этого пользователю должно быть выдано одно-единственное сообщение, актуальное на момент снятия блокировки (это предполагает необходимость выполнить проверку после снятия блокировки => проверки во время блокировки будут пустой тратой трафика).
Дополнительным аргументом "за" является то, что при достаточно длительном отсутствии (более 15 минут) онлайн-статус пользователя на сайте будет соответствовать действительному.
А если вспомнить еще и о том, что при скачивании умыла с сервера отправителю высылается уведомление о прочтении (если оно включено)...
То же самое справедливо для заставок и всяких там игрушек, которые рисуют на втором рабочем столе.

А теперь объясни, почему ты настаиваешь на необходимости периодических проверок в то время, когда машина заблокирована, или включена заставка? )


Ээээ... Но ведь я через гостя это тестировала, а у него прав минимум... Думаю, что это какой-то странный сценарий...
Возможно, в Висте по-другому распределены привилегии по умолчанию )

2008-09-09 в 15:11 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
определенный через white-space:pre

IE5 отваливается? T_T /* Ладно, шучу ^^ Просто посетителей шокируют исчезающие посты ^^' */

Вместо всего этого пользователю должно быть выдано одно-единственное сообщение, актуальное на момент снятия блокировки (это предполагает необходимость выполнить проверку после снятия блокировки => проверки во время блокировки будут пустой тратой трафика).

Насколько я помню, балунчики все пройдут мимо экрана, и пользователь только увидет в логах что было.

И вообще, давай сначала определимся, с чем ты боришься? С уведомлениями (визуальным отображением событий) или с нормальным получением комментов, У-Мыла и событий "Ушёл от нас, и слава богу"? Первое я просто не увижу, а второе... Не вижу ни чего плохого чтобы прийти и сразу начать читать что там понаполучалось/понапроверялось. Сумма собтий будет таже.

проверки во время блокировки будут пустой тратой трафика

Не будет ^^ Если пользователь заботится о трафике, он может просто закрыть клиент. А если к приходу у него отвалится Инет, то в почте будут все у-мылы, и не нужно будет грызть ногти с криками "Мне же письмо!" ^^

Дополнительным аргументом "за" является то, что при достаточно длительном отсутствии (более 15 минут) онлайн-статус пользователя на сайте будет соответствовать действительному.

А если вернуться к концепции рабочих столов. Я ни куда и не уходила, просто на втором рисовала хентайную картинку, а народ уже решил, что я свалила по-тихому ^^'

А если вспомнить еще и о том, что при скачивании умыла с сервера отправителю высылается уведомление о прочтении (если оно включено)...

Тут уже ни чего не поделаешь ^^ This feature is by design ^^

А теперь объясни, почему ты настаиваешь на необходимости периодических проверок в то время, когда машина заблокирована, или включена заставка? )

Ну например потому что я могу отойти минут на десять. Тоесть не на совсем. Или мне просто нравится включать скринсейвер с часиками, пока я ковыряю соседнюю машину.

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

[X] Запуск скринсейвера
[X] Блокировка рабочей станции
[X] Смена пользователя в XP++
[X] Переключение на дополнительный рабочий стол (можно сразу рекламу-ссылку на то как его организовать ^_^)

Возможно, в Висте по-другому распределены привилегии по умолчанию )

Хммм... А ты из под кого тестировал? И, кстати, назови второй флаг функции регистрации уведомлений.

2008-09-09 в 16:21 

L.P.M.
Voilà.
IE5 отваливается? T_T
Ну или через PRE. Сама перепишешь, как захочешь. )

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

С уведомлениями (визуальным отображением событий) или с нормальным получением комментов, У-Мыла и событий "Ушёл от нас, и слава богу"?
И с тем, и с другим. )

Сумма собтий будет таже.
Неа, если пользователь увидит: "U-mail: 1 новых", он может и не подумать, что до этого было еще три таких события и еще что-нибудь.

А если к приходу у него отвалится Инет, то в почте будут все у-мылы, и не нужно будет грызть ногти с криками "Мне же письмо!" ^^
Угу, вот в этом уже что-то есть )
Но, опять же, на случай нестабильного инета опцию можно отключать

А если к приходу у него отвалится Инет, то в почте будут все у-мылы, и не нужно будет грызть ногти с криками "Мне же письмо!" ^^
Это поведение корректно: пока ты на втором рабочем столе, до тебя нельзя достучаться, поэтому никнейм - оффлайн. )

Ну например потому что я могу отойти минут на десять.
Ну и что? ) Пропустишь одну проверку. Или десять, если интервал поменяла до минуты. Не так страшно.

В общем, я за более тонкую настройку
Линда, блин, не делай из мухи слона )

Хммм... А ты из под кого тестировал? И, кстати, назови второй флаг функции регистрации уведомлений.
Elevated admin )
dwFlags = NOTIFY_FOR_THIS_SESSION

2008-09-09 в 16:47 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
Ну или через PRE. Сама перепишешь, как захочешь. )

^^'

И с тем, и с другим. )

Тогда делай два флага (хотела написать "фрага" ^^'): "Блокировать уведомления", "Блокировать проверку" ^^ /* А ещё хотелось бы кнопку временной блокировки на видное место ^^' */

Это поведение корректно: пока ты на втором рабочем столе, до тебя нельзя достучаться, поэтому никнейм - оффлайн. )

Как это не достучаться? ^^' У меня звуки есть (были), и я их слышу. Звякнуло, Win+1, и смотрим ^^'

Линда, блин, не делай из мухи слона )

Лдано, умолкаю ^^ Всё равно я это не включаю ^^'

Elevated admin )

Ээээ... А у меня Guest из клана Guests ^^'

dwFlags = NOTIFY_FOR_THIS_SESSION

Тем более странно... А ошибка возникает всегда или при определённых условиях? ^^

2008-09-11 в 14:33 

L.P.M.
Voilà.
Тогда делай два флага (хотела написать "фрага" ^^'): "Блокировать уведомления", "Блокировать проверку" ^^
ну, блокировать уведомления все равно нужно: если их не заблокировать, они либо все равно не выведутся, либо выведутся не тогда, когда надо, так?
а насчет проверки пока думаю )

А ещё хотелось бы кнопку временной блокировки на видное место ^^'
была мысль каждому индикатору дать контекстное меню и перенести туда соответствующие опции. или это слишком далеко? )

А ошибка возникает всегда или при определённых условиях? ^^
ты знаешь, она у меня возникала в IDE каждый запуск программы, без исключения
но, т.к. я так и не дописал это все, при запуске вне IDE происходила цепочка исключений (в IDE по первому была остановка) и программа падала, так что не знаю, была ли в точности такая же ошибка)

P.S. Про смайлики помню, пока ничего дельного не получается. Зато я нашел баг, который был в версии 0.1.2 =)

2008-09-11 в 19:27 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
а насчет проверки пока думаю )

А что там ещё блокировать? ^^'

была мысль каждому индикатору дать контекстное меню и перенести туда соответствующие опции. или это слишком далеко? )

Ээээ... Я о дублировании пункта меню. Вот в Бэки есть на панели инструментов кнопка с часиками "Pause periodical check". Жмёшь - проверки не производятся, отжимаешь - производится как настроено ^^ Легко и удобно ^^ И я об этом говорила года два назад ^^

ты знаешь, она у меня возникала в IDE каждый запуск программы, без исключения
но, т.к. я так и не дописал это все, при запуске вне IDE происходила цепочка исключений (в IDE по первому была остановка) и программа падала, так что не знаю, была ли в точности такая же ошибка)


Мистика ^^' Впрочем такая же, как и то что в VB5 CreateThread() и SetUnhandledExceptionFilter() работают, а в VB6 всё вешается намертво или вылетает ^^

Может исполнительная среда как-то всё это буферизирует/кэширует? Там нет функций вроде как в VB Environ()?

P.S. Про смайлики помню, пока ничего дельного не получается. Зато я нашел баг, который был в версии 0.1.2 =)

^^

2008-09-14 в 03:25 

Alucard Black
sub specie aeternitatis
список любимых тем сбрасывается после выхода из программы. Невкусное нововведение. ^^

2008-09-14 в 07:01 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
Alucard Black

Кстати да. Плюс ещё какие-то непонятки вроде того что обновление тем для сообщества перекидывает эти темы и в список тем для дневника. Мозг можно сломать от куда что берётся.

2008-09-14 в 11:41 

Alucard Black
sub specie aeternitatis
Линда Кайе
Жесть. Но после выхода всё равно сбрасывается?)

2008-09-14 в 13:29 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
Ээээ... Честно говоря не помню. Помню только что каждый раз начинается каша, а при обновлениях все темы превращаются в -14141321...

2008-09-14 в 14:32 

L.P.M.
Voilà.
Линда Кайе,
А что там ещё блокировать? ^^'
Ну, в смысле, думаю, как именно блокировать.

Вот в Бэки есть на панели инструментов кнопка с часиками "Pause periodical check". Жмёшь - проверки не производятся, отжимаешь - производится как настроено ^^
Right. Но у нас центральной панели инструментов нет и, кажется, не должно быть.

Мистика ^^' Впрочем такая же, как и то что в VB5 CreateThread() и SetUnhandledExceptionFilter() работают, а в VB6 всё вешается намертво или вылетает ^^
Постой, а мы разве не про WTS говорим?
Ошибка с переменными окружения у меня не воспроизводится, просто, как видишь, по сообщению об ошибке очевидно, где именно она возникает.


Alucard Black,
список любимых тем сбрасывается после выхода из программы. Невкусное нововведение. ^^
о, так вот где корень этого глюка... к следующей версии будет исправлено. или могу сейчас дать промежуточную версию для проверки (инициатива наказуема, да ^^)


Линда Кайе,
Плюс ещё какие-то непонятки вроде того что обновление тем для сообщества перекидывает эти темы и в список тем для дневника
Помню только что каждый раз начинается каша, а при обновлениях все темы превращаются в -14141321...
Так было раньше, но теперь у меня не воспроизводится. Сможешь описать шаги для воспроизведения? Может, каша осталась с 12-13 версий?

2008-09-14 в 17:22 

Alucard Black
sub specie aeternitatis
Линда Кайе
по-моему, как раз в версии 15.3 темы в числа не превращаются. Хотя раньше у меня это происходило чуть ли не после каждого обновления клиента..
L.P.M.
мне не принципиально: жизнь в застое, писать нечего.) Лучше дождусь полноценного обновления..

2008-09-14 в 17:25 

Alucard Black
sub specie aeternitatis
у меня каша начиналась, кстати, когда на сайте редактировал список любимых тем, а потом перезагружал темы в клиенте. В итоге все темы превращаются в -14141321...

2008-09-15 в 02:20 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
L.P.M.

Right. Но у нас центральной панели инструментов нет и, кажется, не должно быть.

Можно индикатор соединения превратить в кнопку и при нажатии часики к нему дорисовывать маленькие.

Постой, а мы разве не про WTS говорим?

А ^^ Я думала что это ты про переменные окружения ^^

Так было раньше, но теперь у меня не воспроизводится. Сможешь описать шаги для воспроизведения? Может, каша осталась с 12-13 версий?

Эээээ... Темами я пользуюсь редко и в основном в сообществах (где этого требуют), и там постоянно оказываются темы из дневника ^^ Вот ^^ А что именно воспроизводить?

2008-09-15 в 13:37 

L.P.M.
Voilà.
Линда Кайе,
Можно индикатор соединения превратить в кнопку и при нажатии часики к нему дорисовывать маленькие.
почти: кнопки не будет, будет как есть - иконка с реакцией на клик/двойной клик, и не часики (неочевидно), а лучше крестик какой-нибудь. м?

Темами я пользуюсь редко и в основном в сообществах (где этого требуют), и там постоянно оказываются темы из дневника ^^ Вот ^^ А что именно воспроизводить?
Ну, я пишу и в дневник, и в сообщества ежедневно по несколько постов, большинство - с темами, у меня ничего не перемешивается. Поэтому нужно, чтобы ты описала исходные условия и последовательность действий, которая приводят к этому результату. )
Рекомендую перед этим сбросить темы (в окне тем специальная кнопочка есть), ибо проблема может быть вызвана откатом с 14й на 13ю версии.

2008-09-15 в 13:54 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
почти: кнопки не будет, будет как есть - иконка с реакцией на клик/двойной клик, и не часики (неочевидно), а лучше крестик какой-нибудь. м?

Крестик - это что вообще не будет ни чего. А часики - заморожено на время ^^ По крайней мере мне так кажется ^^

Рекомендую перед этим сбросить темы (в окне тем специальная кнопочка есть), ибо проблема может быть вызвана откатом с 14й на 13ю версии.

Это я немного позже проверю, когда постить буду...

2008-09-15 в 18:52 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
Сбросила темы. В моём дневнике почему-то остались "ПЧ", "манга" и "Делимся впечатлениями". Две последних - из юрийного сообщества. Что они делают в моём дневнике - не ясно. В юрийном сообществе темы из xiin-xiin, в xiin-xiin только одна тема, но своя. Пытаюсь качать демы дневника - Parse error.

Кстати, а зачем две кнопки загрузки? Может быть сделать жёсткое разделение тем по сообществам и одну кнопку? Для сообщества темы пусть качаются с сообщества, для дневника - из дневника. Всё равно свои темы в сообществе применить не смогу, так зачем две кнопки и мешанина?

2008-10-05 в 23:05 

Alucard Black
sub specie aeternitatis
ещё один траббл. Когда создаёшь в клиенте закрытую запись, а потом, после отправки, делаешь запись снова открытой, на самом деле пост остаётся закрытым.
Я просто часто закрываю запись от всех, чтобы проверить, как он смотрится в браузере, и если всё в норме, то открываю...

2008-10-12 в 02:50 

Клетчатый плед
Он был незлобным и крылатым.
Пытаюсь отправить запись - сначала вроде бы подключается, но потом пишет "Не удалось подключиться к серверу".

В своё время, на старых версиях, работала с этим клиентом и всё отправлялось (и в те времена, когда можно было задним числом вешать посты, и в те, когад уже нельзя было).

А вот с этим - не пашет и всё. Какие настройки клиента следует проверить?

2008-11-09 в 01:24 

~Ви~
rúna
Хм...Вот такая штука. Что это значит? Появилась в ленте Избранного после написания и отправки поста из клиента (другого содержания естесвенно).

2008-11-13 в 17:11 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
Клетчатый плед

Прокси, адрес сервера дневников.

Вьенн

Это потому что очень умный клиент сначала отправляет пост вот в таком виде, получает его ID, а потом по-старому на его место пытается поставить, собственно, сам пост. Почему это не исчезает - БП, это вопрос к L.P.M. Но у меня такой бяки - половина постов, задолбало уже. И народу уведомления о новых записях рассылаются с этой хренью.

2008-11-13 в 19:09 

~Ви~
rúna
Линда Кайе понятно, спасибо...

2009-01-10 в 16:45 

R.Ethe
Пиво лучше тактики! Сами пейте свою тактику!
у меня все работает, записи отправляются, но клиент почему-то не видит одного из моих сообществ. только одного. оно для меня открыто, через браузер могу там все постить. через клиент - нет.

2009-01-25 в 15:23 

Под wine клиент работает?

2009-02-06 в 20:35 

"Сколько человека не воспитывай, а ему все равно хочется жить хорошо"©
У меня какие-то непонятые трабблы с клиентом. О_о Раньше все работало стабильно. Сначала он перестал следить за подписчиками, теперь не обновляет список ПЧ. Та же проблема с комментариями и дискуссиями.
Открывается клиент нормально, доступ к интернету у него есть. Подключается к серверу, делает проверку, а в итоге ничего не меняется. Подписчиков у меня 11, в клиенте ни одного. Читателей - 200, клиент показывает только 193 (то число, которое осталось после последней проверки).
Есть еще одна бага. Если ставлю в Настройках галочку в блоке Избранное (вкладка Онлайн-сервис), например "Следить на переименованиями избранных", клиент виснет. "Подключаюсь к серверу.. Жду ответа сервера.. Подключаюсь к серверу.. Жду ответа сервера.." и так без конца, пока не уберу галку. То же самое при обновлении избранного через Web.
Система Win XP 2002 обновлялась месяц назад. Файервол и антивирус: Norton PS.
Скрин 1
Скрин 2

2011-10-25 в 11:04 

Линда Кайе
Тотальная неудачница и убийца жёстких дисков.
/* Что это за недобот? OO */

Комментирование для вас недоступно.
Для того, чтобы получить возможность комментировать, авторизуйтесь:
 
РегистрацияЗабыли пароль?

Разработка нового клиента для @дневников

главная