2013-07-04 2 views
0

INI 파일에 설정을 저장하는 작은 응용 프로그램이 있습니다. 다른 양식이 열리면 INI 파일 설명자를 닫습니다.IniFile 설명자가 열려 있는지 확인하십시오.

procedure TIndexForm.startButtonClick(Sender: TObject); 
var 
    workForm : TForm; 
begin 

    workForm := TworkingForm.Create(nil); 
    workForm.Show(); 

    configIni.Free; // freeing IniFile desciptor 
    IndexForm.Hide(); 

end; 

설명자가 여전히 열려 있는지 확인할 수 있습니까? 이와 같이 (코드가 작동하지 않음) :

if not Assigned configIni then 
    configIni := TIniFile.Create(configPath); 

감사합니다.

+1

필요한 경우 INI 파일에 액세스하지 않는 이유는 무엇입니까? 즉, 항상 열려 있거나 항상 열어두기보다는 읽기/쓰기가 가능하도록 충분히 길게 만들거나/만들 수 있습니까? – Jason

+4

'Assigned'는 포인터가 nil인지 확인하기 때문에'configIni' 변수를 해제 할 때 값을 nil로 설정해야합니다. – RRUZ

답변

3

Assigned을 사용해도되지만 변수가 유효한 개체 인스턴스를 참조하는지 여부는 확인하지 않습니다. 아무 것도 없습니다. 대신 Assigned은 변수가 null인지 확인합니다. 당신이 그것을 참조하는 객체를 해제 할 때 유효한 검사, 당신의 변수는 null를 만드는 것이 확인하려면 : 당신이 원하는 경우에 당신은 FreeAndNil 도우미 기능을 사용할 수 있습니다

configIni.Free; 
configIni := nil; 

; 그것은 내가 위에 쓴 것 이상을하지 않습니다.

관련 문제