|
|
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
Подскажите как в таком случае правильно освобождать память/удалять компоненты. Есь метод класса (обвертка) для работы с базой Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Далее есть методы которые выполняют запросы Код: pascal 1. 2. 3. 4. 5. DataSource1.DataSet:=some_method; Как правильно после того как данные в DataSource1 ненадо удалить все дело с памяти. за ранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 18:13 |
|
||
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
переходи на интерфейсы (Interface types) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 18:20 |
|
||
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
"обвертка" уже не освобождает память когда количество параметров не соответствует Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. авторКак правильно после того как данные в DataSource1 ненадо удалить все дело с памяти. Код: pascal 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 18:23 |
|
||
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
DimaBr"обвертка" уже не освобождает память когда количество параметров не соответствует Код: pascal 1. 2. 3. 4. 5. 6. 7. Лучше так, навсякий: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 19:49 |
|
||
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
DimaBr, А если у меня приблизотельно такой сценарий, на форме? действия пользователя обращение к методу - отображение двнных в гриде опять действия пользователя обращение к методу - отображение двнных в гриде если сделать Код: pascal 1. 2. 3. данных в гриде пользователь и неувидит так как сразу ресурсы освободяться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 23:31 |
|
||
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
Тогда, правильно сформулируйте вопрос, а то из этого набора слов ничего не понятно Как правильно после того как данные в DataSource1 ненадо удалить все дело с памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 01:25 |
|
||
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
DimaBr, На форме есть TreeView со списком накладных, по щелчку на ноде в DBGridEh загружается информация по накладной. Загрузка накладной это запрос в базу путем обращения к методу Код: pascal 1. 2. 3. 4. 5. возвращаеться набор данных TFDQuery который отображаеться в гриде через DataSource1. Пользователь щелкнул на ноде выполнился запрос данные отобразились, щелкнул на другой выполнился запрос данные отобразились итд После всех действий как правильно чистить память от того что насоздавалось в CreateAndOpenQuery. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 01:47 |
|
||
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
SashauaПользователь щелкнул на ноде выполнился запрос данные отобразились, щелкнул на другой выполнился запрос данные отобразились Код: pascal 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 02:12 |
|
||
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
YuRock, >Лучше так, навсякий: благодарю, учел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 15:58 |
|
||
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
DimaBrSashauaПользователь щелкнул на ноде выполнился запрос данные отобразились, щелкнул на другой выполнился запрос данные отобразились Код: pascal 1. 2. 3. 4. 5. 6. Как-то это смущает.... Вот лазит он по дереву и кликает на узлы. И теперь всё рушить и заново датасетить? Может и коннекшн пересоздавать? imho получил датасет, построил дерево и лазий по нему не закрывая датасет. И рядом иметь кнопку или в менюшке ОБНОВИТЬ. Вот тут уже и РеОпен датасету. ______________ Типа пока я обедал, в базе покопались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 18:00 |
|
||
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
GatorDimaBrпропущено... Код: pascal 1. 2. 3. 4. 5. 6. Как-то это смущает.... Вот лазит он по дереву и кликает на узлы. И теперь всё рушить и заново датасетить? Может и коннекшн пересоздавать? imho получил датасет, построил дерево и лазий по нему не закрывая датасет. И рядом иметь кнопку или в менюшке ОБНОВИТЬ. Вот тут уже и РеОпен датасету. ______________ Типа пока я обедал, в базе покопались. Дерево строится только раз, а вот тогда пользователь щелкает на какие-то узлы дерева в зависимости от узла необходимо показать разные данные в гриде (DBGridEh). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 20:14 |
|
||
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
Возможно, что я что то упустил, но зачем там вообще "отстройка" D? DataSource1.DataSet := some_method; try <...> finally DataSource1.DataSet.Free; end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2019, 21:07 |
|
||
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
Vlad FВозможно, что я что то упустил, но зачем там вообще "отстройка" D? DataSource1.DataSet := some_method; try <...> finally DataSource1.DataSet.Free; end; Если сразу сделать DataSource1.DataSet.Free; данные с грида пропадут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 12:46 |
|
||
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
Sashaua, А если не сразу, то DataSource до поры будет показывать из уже освобожденного участка памяти? Круто.)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 13:07 |
|
||
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
GatorКак-то это смущает.... Вот лазит он по дереву и кликает на узлы. И теперь всё рушить и заново датасетить? Может и коннекшн пересоздавать? Я открываю датасет по DblClick на узле, и закрываю при NodeChange. ТС пересоздаёт датасет, ну так ему хочется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 13:11 |
|
||
|
Освобождение памяти в классах
|
|||
|---|---|---|---|
|
#18+
Sashaua, 1) если вы не хотите пользоваться интерфейсами, то 2) вам нужно самостоятельно определить момент, когда данные не нужны. А теперь лирика. Момент уничтожения данных в гриде может быть как переход (в вашем случае) к другому узлу в дереве, закрытие формы и др. можно так Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 13:17 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39764885&tid=2039890]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
148ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 487ms |

| 0 / 0 |
