![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
Сергейчик |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 16.5.2013 Репутация: нет Всего: нет |
После того как создана глобальная переменная в форме1 и зарезерирована память под неё
нужно чтобы при переходе на форму 2 очистить память от этой переменной Собственно вопрос как это сделать ? |
|||
|
||||
Dumm |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 11.7.2010 Репутация: 1 Всего: 1 |
Я так понимаю, постановка задачи исключает описание переменной на уровне модуля?
|
|||
|
||||
Сергейчик |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 16.5.2013 Репутация: нет Всего: нет |
а можно код примера в модуле?
для этого нужно на каждую форму отдельный модуль? |
|||
|
||||
Dumm |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 11.7.2010 Репутация: 1 Всего: 1 |
Форма тоже модуль. Специализированный. В общем-то, это модуль формы. И на уровне модуля формы, тоже можно создавать переменные.
|
|||
|
||||
Сергейчик |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 16.5.2013 Репутация: нет Всего: нет |
только вот созданная переменная в одном модуле форме может быть одинаково именована и в другом модуле формы
без потери данных,значит они в разных ячейках памяти. и переменные каждый раз резервируют под себя память только на второй форме допустим они мне не нужны в таком количестве или вовсе ненужны и надо память очистить от них |
|||
|
||||
Dumm |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 11.7.2010 Репутация: 1 Всего: 1 |
Не понял, что значит без потери данных? Если ты переопределяешь переменную в другом модуле, то это уже другая переменная и никаких данных она изначально не содержит. Я так понимаю, ты хочешь просто при переходе на другую форму освобождать память от переменных предыдущей формы для экономии? Тогда уничтожай ненужную форму и память, под нее отведенная, очистится. |
|||
|
||||
Сергейчик |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 16.5.2013 Репутация: нет Всего: нет |
без потери данных это в переменных на 1форме(можно конечно почистить но память всё также в резерве под них),новая да изначально очищенна.
да нужно уничтожить невостребованную форму только непонятно как запустить сночала 2 форму после убить первую. |
|||
|
||||
Dumm |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 11.7.2010 Репутация: 1 Всего: 1 |
|
||||
|
|||||
Сергейчик |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 16.5.2013 Репутация: нет Всего: нет |
Нет это не работает переменная да очищается но память так и остаётся зарезервированная.
я думал что это как бы выход из приложения формы 1 и открыть приложение 2 с формой? |
|||
|
||||
Сергейчик |
|
||||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 16.5.2013 Репутация: нет Всего: нет |
Дело даже может не в переменной вовсе так как сейчас на форме1 сделал текстбокс и кнопку перехода на форму2 и кнопку обратного перехода на форму1
так вот тупо копируя символы в тестбокс t1 память растёт и после перехода на форму 2 память неполностью возвращается к первоначальному значению (смотрю в диспетчере задач после компиляции) пробывал по разному, техтбокс первоначально очищаю так быстрей идёт процесс очистки на первой форме:
Это сообщение отредактировал(а) Akina - 15.7.2013, 21:52 |
||||
|
|||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Сергейчик, научитесь описывать задачу, а не свои попытки её решить.
Чаще всего проблема состоит в том, что выбран неверный подход к решению задачи. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Сергейчик |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 16.5.2013 Репутация: нет Всего: нет |
Задача та мне вродеб как понятна
чтобы при переходе с одной формы на другую загружаясь она соответствовала точки начала приложения,свои глобальные переменные распространяемые на эту форму(не на приложение в целом) и свои объекты управления. соответственно предыдущая форма полностью уничтожена (соответствие точки выхода из программы и полностью освобождена память от её элементов) вот отсюда и попытки её решения. Это сообщение отредактировал(а) Сергейчик - 15.7.2013, 23:06 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Сергейчик, Задача должна быть понятна не Вам, а тем, кто Вам будет отвечать. А вот из этого потока сознания
понять почти ничего нельзя. Кроме одной вещи - то, что Вы считаете задачей, на самом деле уже есть попытка её решить. Иными словами, задача не сильно понятна даже Вам. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Сергейчик |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 16.5.2013 Репутация: нет Всего: нет |
Другими словами чтобы форма работала подобием процедуры и при закрытии её полностью всё что сней связано удалялось .
или программа как бы с вложенной программой ввиде отдельной формы и всё что сней связано(формой). при переходе на другую форму означает закрытие вложенной программы и начало другой. К примеру запустите диспетчер задач и виндовс калькулятор понабирайте что небудь справку посмотрите попереходите на различные его формы(может там конечно и одна с изменением) и вы увидите что память постоянно растёт(выделяется под эту программу) далее запустите программу блокнот откройте какой небудь файл накопируйте мегабайт на 150 после создайте новый файл и вы увидите что память полностью не разгрузилась. Вот я хотел бы сделать программу подобие калькулятора с разными формами различных расчётов а также формой с загрузкой файла но только зачем мне лишняя невыгруженная память ведь допустим в новой форме всего пару формул и те в процедуре? ![]() Это сообщение отредактировал(а) Сергейчик - 16.7.2013, 19:18 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Выгрузка (не закрытие!) формы приводит к уничтожению всех связанных с ней данных - в т.ч. и переменных, определённых на уровне модуля класса этой формы или ниже. Этих фраз я в принципе не понял. Хотя и слова вроде все знакомые, но вот смысла - как есть ноль... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "VB6" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | VB6 | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |