Что нового

FileClose. Не закрывается дескриптор файла

Suppir

Продвинутый
Сообщения
967
Репутация
62
Код:
Func _SaveAs()
	local $TextToSave, $SaveAs, $SaveAsNSR

	$TextToSave = _StringANSI2OEM(GuiCtrlRead($Edit2))
	if StringLen($TextToSave) < 1 Then
		MsgBox(64, "", "Сохранять пока нечего")
	Else
		$SaveAs = FileSaveDialog("Сохранить как", $MyDocsFolder, "(*.nsr)", 2)
		$SaveAsNSR = $SaveAs & ".nsr"
		FileOpen($SaveAsNSR, 2)
		FileWriteLine($SaveAsNSR, $TextToSave)
		FileClose($SaveAsNSR)
		if @error<>0 Then MsgBox(1, "", "Ошибка сохранения")
			
	EndIf
	
EndFunc   ;==>_SaveA


Файл нормально создается, функция ошибок не выдает. НО при попытке удалить этот файл выдается ошибка "файл используется другим приложением" (AutoIt). Выходит, что дескриптор не закрылся нормально?
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 702
Код:
$hFile = FileOpen($SaveAsNSR, 2)
FileWriteLine($hFile, $TextToSave)
FileClose($hFile)
 
Автор
S

Suppir

Продвинутый
Сообщения
967
Репутация
62
Заработало таким образом, как сказал Yashied

т.е. нельзя "смешивать" переменную о пути файла и название дескриптора.
 
Верх