Просмотр полной версии : окно Local Storage предательски вылезает из Цинка
chingachgoog
03.06.2008, 17:37
Только казалось, побеждены все маркеры ФП, по которым пользователь может опознать на чем сделано приложение, как новая напасть:
1) Открываем любой ФП на данном компе
2) по правой кнопке выбираем Setting, устанавливаем в Local Storage 0.
3) запускаем цинк-приложение где используется SO
4) появляется предательское окно!
3) запускаем цинк-приложение где используется SOИнтересно, зачем цинк-приложению использовать SO, можно пример такой необходимости?
chingachgoog
04.06.2008, 13:38
Интересно, зачем цинк-приложению использовать SO, можно пример такой необходимости?
Приложение запоминает было ли оно запущено на данном компе и пропускает заставку.
Надо также предусмотреть вариант, когда комп не админский и даже когда приложение запускается через локальную сеть.
alexcon314
04.06.2008, 15:28
Я встречался с багом, когда приложение, не использующее SO, все равно выводило это окно при обычном сохранении в файл. Однако, при сохранении в режиме аппенд, проблема при умолчательных настройках плеера не появлась, если порция сохраняемых за раз данных не превышала по объему установленный порог.
Вообще, SO в некоторых ситуациях использовать удобно, т.к. туда можно скинуть и объект, к примеру, без лишних телодвижений потом его загрузить. Опять же хранятся SO в профилях - тоже снимает некоторые заморочки.
В подобных ситуациях, когда нужно грубо говоря запомнить "да/нет", да и по-объемней что-то, можно заюзать реестр, часть его тоже хранится в профиле. Тут флэш-предупреждения быть не должно наверняка.
chingachgoog
04.06.2008, 16:47
решил проблему таким образом:
1) окно вылезает ТОЛЬКО при использовании метода flush(), а метод data окна не вызывает, но
2) если после закрытия обычного ФП данные после data сохраняются, то после закрытия Цинка mdm.Application.exit() данные НЕ сохраняются
3) таким образом ПЕРЕД командой mdm.Application.exit() надо вставить метод flush()
4) но тогда на долю секунды появляется предательское окно
5) поэтому ПЕРЕД flush() надо поставить mdm.Forms.MainForm.hide();
:) смешно конечно, но зато действенно.
chingachgoog
06.06.2008, 11:12
В подобных ситуациях, когда нужно грубо говоря запомнить "да/нет", да и по-объемней что-то, можно заюзать реестр, часть его тоже хранится в профиле. Тут флэш-предупреждения быть не должно наверняка.
alexcon314, а как Цинком что-то побезопасней записать/прочитать? С учетом того, что у пользователя может не быть админских прав?
alexcon314
06.06.2008, 15:26
Прав юзера любого хватит, чтобы записать что-то в реестр. Только ветку надо выбрать соответствующую. CURRENT USER должно быть. Под ХР Pro права доволно прозрачно разруливаются. До ХР Pro хуже, но это не проблема цинка. А так, профиль юзера ему отдан на запись. Туда можно писать. Он для подобных вещей и предназанчен. Ну или опции сохранения подключать - пусть юзер сам решает.
Я, будучи сисадмином, часто сталкиваюсь с прогами, которые требуют админских прав на папки и т.п. Впечатления от таких программ самые противоречивые.
Поэтому стремиться нужно к простоте и прозрачности в этом вопросе. Не следует без веских причин делать программу, требующую особых прав в системе.
Что значит "побезопасней прочитать", не понял, если честно.
chingachgoog
06.06.2008, 15:33
Что значит "побезопасней прочитать", не понял, если честно.
Имел в виду, какая команда Цинка пишет/читает в реестр, чтобы не вылезло какое-нибудь окно типа "нет прав доступа"?
alexcon314
06.06.2008, 15:53
Надо проверить.
chingachgoog
24.06.2008, 16:35
решил проблему таким образом:
1) окно вылезает ТОЛЬКО при использовании метода flush(), а метод data окна не вызывает, но
2) если после закрытия обычного ФП данные после data сохраняются, то после закрытия Цинка mdm.Application.exit() данные НЕ сохраняются
3) таким образом ПЕРЕД командой mdm.Application.exit() надо вставить метод flush()
4) но тогда на долю секунды появляется предательское окно
5) поэтому ПЕРЕД flush() надо поставить mdm.Forms.MainForm.hide();
Интересное замечание. Делаю запуск цинка с режимом совместимости с WIN98 (для избежания известного глюка).
Так вот, даже при запрещенной установке во ФП записи SO, в таком режиме SO и пишется и читается!
alexcon314
24.06.2008, 17:22
Ну, ограничения на сохраненяемый объем информации сидят опять же где-то в профиле юзера. При запуске в режиме совместимости с Win 98 эти запреты просто не катят, видимо, профиль юзера как-то по-другому используется загрузчиком ОС.
Кстати, можно попытаться найти-таки затык в профиле юзера, из-за которого баг происходит, ну и то "место" где плеер сохраняет свои настройки безопасности.
Я пытался, но до конца не дошел.
Ну а в режиме совместимости с Win98 там вообще разрешение unlimited выставляется :).
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.