Re[5]: Исследование WinForms 2.0 (beta 2)
От: BoresExpress Россия  
Дата: 20.04.06 07:54
Оценка:
Здравствуйте, Smarty, Вы писали:

S>Да нет, все в полном порядке. Исправления принимает "дорогая редакция" и передает их по этапу автору. Потом в обратную сторону. Короче — на сайте уже версия 1.1 статьи лежит.


Т.е. Вам сообщения об ошибках передали, так?
Re[6]: Исследование WinForms 2.0 (beta 2)
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 20.04.06 10:00
Оценка:
Здравствуйте, BoresExpress, Вы писали:

S>>Да нет, все в полном порядке. Исправления принимает "дорогая редакция" и передает их по этапу автору. Потом в обратную сторону. Короче — на сайте уже версия 1.1 статьи лежит.


BE>Т.е. Вам сообщения об ошибках передали, так?


опечатки присланные по Ctrl + Enter я правлю сам, в данном случае автору для дополнений была отправлена исправленная версия статьи
Re[7]: Исследование WinForms 2.0 (beta 2)
От: BoresExpress Россия  
Дата: 20.04.06 15:17
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

OE>опечатки присланные по Ctrl + Enter я правлю сам, в данном случае автору для дополнений была отправлена исправленная версия статьи


Хорошо, теперь я знаю, что не зря Ctrl + Enter жму.
Спасибо.
Re[6]: Исследование WinForms 2.0 (beta 2)
От: Smarty Россия  
Дата: 20.04.06 15:19
Оценка:
Здравствуйте, BoresExpress, Вы писали:

BE>Здравствуйте, Smarty, Вы писали:


S>>Да нет, все в полном порядке. Исправления принимает "дорогая редакция" и передает их по этапу автору. Потом в обратную сторону. Короче — на сайте уже версия 1.1 статьи лежит.


BE>Т.е. Вам сообщения об ошибках передали, так?


Даже уже исправленный файл передали. А я — добавил 3-4 абзаца. И назад. А потом эта исправлено-добавленная версия на сайт легла, заменив старый и глючный вариант.
<<Rule of Forum: После того, как вопрос задан... не поленитесь поставить отвечавшему оценку!>>
Re[7]: Исследование WinForms 2.0 (beta 2)
От: BoresExpress Россия  
Дата: 20.04.06 16:08
Оценка:
Здравствуйте, Smarty, Вы писали:

S>Здравствуйте, BoresExpress, Вы писали:


BE>>Здравствуйте, Smarty, Вы писали:


BE>>Т.е. Вам сообщения об ошибках передали, так?


S>Даже уже исправленный файл передали. А я — добавил 3-4 абзаца. И назад. А потом эта исправлено-добавленная версия на сайт легла, заменив старый и глючный вариант.


Хорошо. Я доволен.
Re: А где находятся примеры?
От: Аноним  
Дата: 29.08.06 07:36
Оценка:
Здравствуйте, Щербунов Нейл, Вы писали:

ЩН>Статья:

ЩН>Исследование WinForms 2.0 (beta 2)
Автор(ы): Щербунов Нейл
Дата: 07.04.2006
Данная статья, являясь самостоятельным и законченным документом, в тоже время является и качественным развитием статьи опубликованной год назад: Новое в WinForms 2.0 Автор этих строк постарался “копать” не столько вширь, сколько вглубь. Поэтому новые контролы/фичи исследованы достаточно детально и по каждому разделу имеется довольно серьезная demo-winform, запустив которую легко наглядно увидеть “а как это оно на самом деле”. Так же упомянуты пара-тройка особенностей появившихся только в beta2 и отсутствующих в ранних версиях. Статья нацелена на аудиторию, имеющую твердый опыт работы с WinForms 1.0/1.1 и желающих сделать “быстрый старт” по направлению к WinForms 2.0.


ЩН>Авторы:

ЩН> Щербунов Нейл

ЩН>Аннотация:

ЩН>Данная статья, являясь самостоятельным и законченным документом, в тоже время является и качественным развитием статьи опубликованной год назад: Новое в WinForms 2.0 Автор этих строк постарался “копать” не столько вширь, сколько вглубь. Поэтому новые контролы/фичи исследованы достаточно детально и по каждому разделу имеется довольно серьезная demo-winform, запустив которую легко наглядно увидеть “а как это оно на самом деле”. Так же упомянуты пара-тройка особенностей появившихся только в beta2 и отсутствующих в ранних версиях. Статья нацелена на аудиторию, имеющую твердый опыт работы с WinForms 1.0/1.1 и желающих сделать “быстрый старт” по направлению к WinForms 2.0.

А где можно взять примеры, которые упоминаются в данной статье?
Re[2]: А где находятся примеры?
От: Smarty Россия  
Дата: 07.09.06 20:00
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>А где можно взять примеры, которые упоминаются в данной статье?


Очевидно — прямо со станички со статьей. В сааамом верху — оглавление, а чуть ниже...

Код ко всем разделам, кроме ClickOnce
Код к разделу ClickOnce


Это и есть 2 ссылки на Rar-архивы.
<<Rule of Forum: После того, как вопрос задан... не поленитесь поставить отвечавшему оценку!>>
Re[3]: А где находятся примеры?
От: Аноним  
Дата: 12.09.06 05:46
Оценка:
Здравствуйте,
По поводу технологии OnceClick, при инсталляции приложения на машине пользователя, файлы приложения устанавливаются по пути c:\Documents and Settings\UserName\Local Settings\Apps\. Есть какая-нибудь возможность установки в другое место по выбору пользователя? И еще: можно ли при установке подцеплять файлы библиотек?
Re[4]: А где находятся примеры?
От: Smarty Россия  
Дата: 12.09.06 21:30
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здравствуйте,

А>По поводу технологии OnceClick, при инсталляции приложения на машине пользователя, файлы приложения устанавливаются по пути c:\Documents and Settings\UserName\Local Settings\Apps\. Есть какая-нибудь возможность установки в другое место по выбору пользователя?
Нет, этого точно нет. Файлы сливаются в этот фолдер и точка. По крайней мере для текущего варианта КликВанса это так. Может потом какой option и добавят...

А> И еще: можно ли при установке подцеплять файлы библиотек?

Не понял... Можно ли с сервера публикации сливать не только *.exe, но и соотв. ему *.dll-ы? Или что здесь спрашивается?
<<Rule of Forum: После того, как вопрос задан... не поленитесь поставить отвечавшему оценку!>>
Re[5]: А где находятся примеры?
От: ingivid  
Дата: 13.09.06 05:33
Оценка:
А>> И еще: можно ли при установке подцеплять файлы библиотек?
S>Не понял... Можно ли с сервера публикации сливать не только *.exe, но и соотв. ему *.dll-ы? Или что здесь спрашивается?

Для создания отчета используется Crystal Reports, нужно подключить некоторые его библиотеки
Re[6]: А где находятся примеры?
От: Smarty Россия  
Дата: 13.09.06 17:59
Оценка:
Здравствуйте, ingivid, Вы писали:

А>>> И еще: можно ли при установке подцеплять файлы библиотек?

S>>Не понял... Можно ли с сервера публикации сливать не только *.exe, но и соотв. ему *.dll-ы? Или что здесь спрашивается?

I>Для создания отчета используется Crystal Reports, нужно подключить некоторые его библиотеки


Так, а в каком формате это все на КликВанс завязано? Т.е. опишите полный сценарий вопроса.
<<Rule of Forum: После того, как вопрос задан... не поленитесь поставить отвечавшему оценку!>>
Re[2]: Исследование WinForms 2.0 (beta 2)
От: Drakon7  
Дата: 07.08.07 06:37
Оценка:
Здравствуйте, BoresExpress, Вы писали:

BE>Здравствуйте, Щербунов Нейл!


BE>"упомяну о событии Cancel (тип bool)"

BE>Не очень понял, как событие может быть типа bool? Наверное, имеется в виду свойство типа bool у соответствующих EventArgs?

BE>Ещё хочу отметить, что цитаты из MSDN приводятся как на русском так и на английском языке. Хорошо бы придерживаться единообразия в этом вопросе (я бы предпочёл текст на английском).


BE>Ну и орфографические ошибочки были, я на них Ctrl+Enter покликал. Исправьте их, пожалуйста.



BE>В целом статья очень понрачилась, спасибо за труд!





здравствуйте,

замечательная статья, но я нашел маленького "жучка"

в примере с BackgroundWorker , если закрыть форму до того как BackgroundWorker закончит работу, то будет
сгенерировано TargetInvokationException исключение (в случае работы с System.Windows.Forms.ToolStripProgressBar прогресс баром). потому как основная форма уже разрушена, а мы пытаемся изменить значение бара.
1) почему это не проишодит в случае System.Windows.Forms.ProgressBar бара?
2) как бы это поэлегантней исправить?
Re: Исследование WinForms 2.0 (beta 2)
От: Аноним  
Дата: 24.08.07 12:56
Оценка:
Здравствуйте, Щербунов Нейл, Вы писали про MaskedTextBox и его маску:

9,999.00$ Ожидается ввод суммы в диапазоне 0.00-9999.99. Десятичный разделитель, разделитель тысяч и символ валюты определяются свойством Culture
control-а. На моей машине пример ввода выглядит так: "7'902.14р." (без кавычек).


Так вот большая проблема с этим (обсуждается на этом форуме sql.ru).
Создаю форму, на ней MaskedTextBox, в его Mask прописываю "9,999.00$", и ввожу туда 7902.14. Получается, все как у вас в статье, но только потому, что кол-во цифр в маске совпадает с кол-вом цифр в введенном числе. А как часто нам заранее известно кол-во цифр, к-рое будут вводить в наш текстбокс? Нечасто. Так вот, если сделать в приведенном примере маску на одну девятку больше: "99,999.00$", то число будет выглять весьма "криво":
"79'02.14р.".

И другая проблема: невозможно ввести десятичную точку ни с цифровой клавиатуры, ни с основной клавиатуры. Ни запятую, ни точку, ни в русской, ни в английской раскладке
Re[3]: ClickOnce - не верное представление о DataFile-ах
От: SUKER  
Дата: 11.12.07 14:24
Оценка: 7 (1)
Здравствуйте, Smarty, Вы писали:

S>Здравствуйте, Ryf, Вы писали:


Ryf>>Здравствуйте, Щербунов Нейл, Вы писали:


Ryf>>По разделу о ClickOnce, об обновлении. Немножко запутано написано про статусы публикации Include и DataFile,

S>Да они и сделаны... немножко так, что не знаешь какие слова подобрать, что бы описать их поведение... У меня лучше не получилось. Это по форме. А по сути — я пока противоречий не вижу, см. ниже.

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

S>Возьмем факты:

S>1. Publish Status у файлов сборки может быть: Include, Data File(далее для краткости этот статус обозначаем как DF), Exclude, Prerequisite.

S>2. С двумя последними все ясно и они не интересны...
S>3. Требуется понять разницу между Include и DF
S>4. Абсолютно неоспоримая разница — первые кладутся в каталог приложения, вторые — в каталог данных.

S>Теперь идут хотя и проверенные на практике, но уже теории касаемые поведения Include и DF файлов на этапе апдейта оно же обновление:


S>1. Грузить не изменившиеся со старой версии файлы с сервера глупо.

S>2. Если файл НЕ большой — быстрее его сгрузить, нежели искать ответ на вопрос "изменился ли файл?".
S>3. Для быстрой и не напряжной проверки факта изменения содержимого файла хорошо покатит хэш.
S>4. Центральный момент разговора: проверяется ли хеш для Include и DF ИЛИ только для DF? Мои эксперименты выводят в качестве ответа второй вариант. А вот что говорит МСДН:
S>

ClickOnce will replace the older version of the file with the newer version of the server if a data file(! а не any file, или просто file) has a different hash value in the old version of the application as in the new version.

Т.е. вроде как подтверждает практику.

S>5. Уже чистая дедукция: Include-файлы(читай исполняемые файлы) слишком важны. Кроме того, по "толщине"(читай времени закачки) Include-файлы(почти всегда) хорошо уступают DF файлам. Ситуации же когда апдейт содержит только изменения в ресурсах(а код идентичен предыдущей версии) редки черезвычайно. Отсюда — Include-файлы почти всегда должны быть загружены в виду их более чем вероятной изменчивости(это раз) и желательны для загрузки, даже подчас избыточной, в виду их важности(это два).

S>Вот такие мысли...


Здравствуйте. Прочитав вашу статью, начал прикручивать ClickOnce к своему проекту... Исходя из статьи, шаблоны, файлы отчетов и т.п.(около 10мб) были помечены, как дата файлы. Во время экспериментов, я заметил, что дата файлы скачиваются в любом случае!!! И записываются в папку соотв-ую названию манифеста приложения. Но в папку data — попадают старые файлы (смотрел по дате изменения) если они не менялись
Решил изучить вопрос досконально...
МСДН:
http://msdn2.microsoft.com/en-us/library/ms404267.aspx

File patching does not work for files that are marked as data and stored in the data directory. These are always downloaded regardless of the file's hash signature.

http://msdn2.microsoft.com/en-us/library/d8saf4wy.aspx

ClickOnce will replace the older version of the file with the newer version of the server if a data file has a different hash value in the old version of the application as in the new version. Also, if the earlier version of the application created a new file that has the same name as a file included in the new version's deployment, ClickOnce will overwrite the old version's file with the new file. In both cases, the old files will be included in a subdirectory inside the data directory named .pre, so that the application can still access the old data for migration purposes.


Чутка подробнее:

Папка данных подразумевает под собой действительно папку данных Куда/от куда приложение может свободно писать и считывать. Там может лежать хмл, с которым работает приложение и активно его изменяет, файлы б.д. скул сервера и т.д. Сделано для удобства работы приложений в отключенном(от БД) режиме и последующего мерджа.
Пример:
1 релиз приложения с ним поступает файл б.д. помеченный как дата файл.
Пользователь работает с ним — добавляет некие данные.
2 релиз приложения с ним поступает файл б.д. (не важно изменился ли он со времени 1-го релиза) — файл б.д. скачивается в любом случае, далее локально сравнивается хеш старого и нового файла, если они совпадают, то используется старый файл, в противном случае — новый, а старый сохраняется как *.pre. Далее, после запуска новой версии, мы должны позаботится о мердже новой и старых версий(чтобы данные, которые добавлял клиент не пропали)...

Для распространения приложений, все файлы, которые пользователь не может/не должен никак менять, или эти изменения не должны мегрировать от версии к версии, должны помечаться как Include, ибо в этом случае они скачиваются только тогда, когда хеш изменился...
Re: Исследование WinForms 2.0 (beta 2)
От: Шевченко Александр http://alexsoft.home.nov.ru
Дата: 27.05.08 11:51
Оценка:
Такой вопрос. Кинул на MDI-форму ToolStripContainer, и перестали быть видны дочерние окна.
Что и где указать, чтоб ToolStripContainer не перекрывал дочерние окна?
Или контрол ToolStripContainer не предназначен для MDI-форм?
Re[2]: Исследование WinForms 2.0 (beta 2)
От: muse Россия  
Дата: 27.05.08 13:22
Оценка:
Здравствуйте, Шевченко Александр, Вы писали:

ША>Такой вопрос. Кинул на MDI-форму ToolStripContainer, и перестали быть видны дочерние окна.

ША>Что и где указать, чтоб ToolStripContainer не перекрывал дочерние окна?
ША>Или контрол ToolStripContainer не предназначен для MDI-форм?

Вы зачем подняли мертвую тему? Она уже два года как умерла. Некрономикон читают на баше

Bring to back из контекстного меню ToolStripContainer попробуйте.
Люблю повеселиться, особенно пожрать
toolstripcontainer mdi
Re[3]: Исследование WinForms 2.0 (beta 2)
От: Дьяченко Александр Россия  
Дата: 27.05.08 14:57
Оценка:
Здравствуйте, muse, Вы писали:

ША>>Или контрол ToolStripContainer не предназначен для MDI-форм?

M>Bring to back из контекстного меню ToolStripContainer попробуйте.

Безполезно ToolStripContainer и MDI-формы вместе работать не будут.
... << RSDN@Home 1.2.0 alpha 4 rev. 1090>>
Re[4]: Исследование WinForms 2.0 (beta 2)
От: jenyavb  
Дата: 28.05.08 01:42
Оценка:
Здравствуйте, Дьяченко Александр, Вы писали:

ДА>Здравствуйте, muse, Вы писали:


ША>>>Или контрол ToolStripContainer не предназначен для MDI-форм?

M>>Bring to back из контекстного меню ToolStripContainer попробуйте.

ДА>Безполезно ToolStripContainer и MDI-формы вместе работать не будут.


Работает с ToolStripPanel.
... << RSDN@Home 1.2.0 alpha 4 rev. 1090>>
Re: Исследование WinForms 2.0 (beta 2)
От: Шевченко Александр http://alexsoft.home.nov.ru
Дата: 02.12.08 13:15
Оценка:
Здравствуйте, Щербунов Нейл.

Опечатки:

a)
Движок ClickOnce извещается об этом путем выставления галочки (рисунок 30)
надо — (рисунок 31)

б)
А вот в каталоге данных новая папка была создан, но
надо — создана

в)
В процессе обсуждения стати на форуме
надо — статьи
Re: Исследование WinForms 2.0 (beta 2)
От: Ник  
Дата: 09.12.08 11:57
Оценка:
Вот Вы пишете:

Для начала работы с указанным классом можно, конечно, вызвать его конструктор new System.ComponentModel.BackgroundWorker();
прямо из кода. Но, поскольку этот класс является компонентом, удобнее перетащить его иконку на форму из ToolBox.


А далее пишете:

При этом золотое правило многопоточности, о котором говорилось выше, несколько видоизменяется и звучит так: “Код внутри обработчика события DoWork исполняется в отдельной рабочей нити и не должен пытаться получить доступ к элементам пользовательского интерфейса. Обработчики же двух прочих событий ProgressChanged и RunWorkerCompleted исполняются в основной, UI-нити и могут свободно к этим элементам обращаться”.


Так я не понял, я могу из метода вызывать myBackgroundWorker.ReportProgres()? Или этот объект хоть и перетаскивается на форму, элементом интерфейса не считается?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.