Do
$fileopen = FileOpen(@ScriptDir&"\domen.txt",0)
While
;другой код
WEnd
;в циклах ни одного закрытия
Until
То что они обнуляются не значит что файл закроется.локальные переменные обнуляются при выходе из функции
Откройте несколько десятков (или сотен) тысяч файлов не закрывая их. Посмотрите что будет.дескрипторы можно не закрывать, если программа завершает работу
$x=0
Do
$fileopen = FileOpen("C:\File.txt")
$x=+1
Until $x>1000000
MsgBox(0, "", "Посмотри сколько памяти использует скрипт")
По окончании работы необходимо освободить ресурсы, выделенные дескриптору с помощью функции FileClose().
Файлы да, а вот, например, структуры автоматически будут уничтожены при выходе из функции или при изменении связанной переменной.Prog сказал(а):То что они обнуляются не значит что файл закроется.
При выходе из программы? Ничего не будет. Все выделенные ресурсы будут автоматически удалены системой при закрытии процесса. Другой вопрос, что так делать не рекомендуется во избежании возможной потери данных.Prog сказал(а):Откройте несколько десятков (или сотен) тысяч файлов не закрывая их.
Код выше запускали? Ничего что программа быстро исчерпывает всю доступную память и перестает работать? Как раз подобное произошло у ТС.При выходе из программы? Ничего не будет.
joiner сказал(а):...дескрипторы можно не закрывать, если программа завершает работу
Yashied сказал(а):При выходе из программы? Ничего не будет. Все выделенные ресурсы будут автоматически удалены системой при закрытии процесса. Другой вопрос, что так делать не рекомендуется во избежании возможной потери данных.
Prog сказал(а):Код выше запускали?
Попробую еще раз объяснить.Мы вообще об одном и том же говорим?
Дали ответ.Откройте несколько десятков (или сотен) тысяч файлов не закрывая их. Посмотрите что будет.
Только проблема в том что программа не сможет держать столько дескрипторов и перестанет работать, из-за недостатка памяти. Можете убедится в этом запустив код выше. Выход из программы тут вообще не причем, т. к. программа заглючит во время своей работы.При выходе из программы? Ничего не будет. Все выделенные ресурсы будут автоматически удалены системой при закрытии процесса.