Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Динамическое создание TabPages в TabControl / 5 сообщений из 5, страница 1 из 1
17.12.2004, 10:03
    #32831613
_Sania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое создание TabPages в TabControl
В процессе работы программы ясоздаю TabPages, например

TabPage tp = new TabPage("Ошибки");
rtbError = new RichTextBox();
rtbError.Parent = tp;
rtbError.Dock = DockStyle.Fill;
tbResult.TabPages.Add(tp);

Причем rtbError определена как private RichTextBox rtbError в самой форме.

При запуске нового сеанса обработки, TabPages удаляются (не известно заранее - может ошибок не будет).

if(rtbError != null) rtbError.Dispose();
rtbError = null; // в C++ надо было бы писать delete rtbError, а в C# что?
tbResult.TabPages.Clear();

Таким образом все очищается корректно или я что-то пропустил?
Мне нужно, что бы rtbError очищалась сразу, может есть какие-то другие подходы?
...
Рейтинг: 0 / 0
17.12.2004, 14:39
    #32832447
Por
Por
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое создание TabPages в TabControl
_Sania if(rtbError != null) rtbError.Dispose();
rtbError = null; // в C++ надо было бы писать delete rtbError, а в C# что?

А в C# - ничего.

.NET Framework Developer's Guide
Developer Backgrounds in Memory Management
...
When you develop applications using the Managed Extensions for C++, or another language that targets the common language runtime, you do not have to use the delete operator to release an object. The garbage collector does this for you automatically when the object is no longer being used by the application.
...
...
Рейтинг: 0 / 0
17.12.2004, 15:12
    #32832571
_Sania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое создание TabPages в TabControl
Совсем ничего не делать после Dispose() не получается - т.к. в дальнейше у меня в коде идет проверка на rtbError == NULL и она выдает false, а уже при использовании, например rtbError.AppendText, говорит - что такого объекта нет.
Понятно, что сборщик мусора может отработать не сразу, а через некоторое время.

После выполнения
rtbError = NULL;
в его работе сбоя не будет (т.е. все корректно очистится)?
...
Рейтинг: 0 / 0
17.12.2004, 16:22
    #32832763
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое создание TabPages в TabControl
А зачем вызывается Dispose? Вы его перегружали? Почему не сразу

if(rtbError != null)
rtbError = null;

?
...
Рейтинг: 0 / 0
18.12.2004, 20:18
    #32833521
_Sania
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Динамическое создание TabPages в TabControl
to hDrummer

>А зачем вызывается Dispose? Вы его перегружали?
Пока нет, но в последствии возможно придется, будут использоваться файлы и т.д.

rtbError = null;
Этого достаточно для очистки объекта?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Динамическое создание TabPages в TabControl / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]