글쓴 사람
해운대끓는물 (yesican_kor at hotmail.com)
홈페이지
첨부 파일
1 public class SingletonForm : Form
2 {
3 private static SingletonForm uniqueInstance = null;
4 private static readonly object padlock = new object();
5
6 private SingletonForm() : base()
7 {
8 }
9
10 public static SingletonForm GetInstance()
11 {
12 if (uniqueInstance == null)
13 {
14 lock(padlock)
15 {
16 if (uniqueInstance == null)
17 {
18 uniqueInstance = new SingletonForm();
19 }
20 }
21 }
22
23 return uniqueInstance;
24 }
25 }
위와 같이 폼을 상속 받은 싱글턴 클래스를 다른 폼에서 1개의 창으로만 열려고 합니다.
문제는 처음 열때는 정상이며 그다음 닫지 않은 상태에서 열려고 할때도 새로운 창을 생성하지 않습니다. 그러나 기존에 열려있는 창을 닫은후 새로 열려고 하면 삭제된 객체에 접근하려 한다는 예외를 발생시킵니다.
혼자서 여러가지 싱글턴 소스로 테스트를 해봐도 같은 문제가 발생 하였습니다. 어느부분이 문제인지 알고 싶습니다.
* 전체 소스(.net 1.1)는 첨부 파일로 올립니다. 감사합니다.
[최초 등록일: ]
[최종 수정일: 5/15/2007]
No | Writer | Date | Cnt. | Title | File(s) |