Q&A

  • MDI childForm의 상호 참조 문제.
안녕하세요?

MDI 프로그램에서 이미 열려있는 다름폼의 값을 참조하려는데 Access Vioration

에러가 생기는 군요.

참조는 uses list에 참조하고자하는 폼(frm1)을 넣고,



a := frm1.edit1.text; 와 같이 직접 불러오는 형식입니다.





SDI형식에서는 아무 문제가 없었는데, 그대로 MDI로 변환하닌까 문제가

생기는 군요.

아시는 분의 도움을 부탁드립니다.

2  COMMENTS
  • Profile
    박성훈 1999.06.21 06:14
    Access Violation은 아직 생성되지 않은 폼이나 변수를 참조하려고 할 때 생기는 것으로 알고 있습니다.

    물론 uses절에 frm1이 아니라 unit1을 넣으셨을 테구요.SDI를 MDI로 변환하셨다면 frm1이 autocreatable 폼이 아닐 가능성이 있는 것 같은데요. project option에서 확인해 보시길 바랍니다. 어쨋든 frm1이 아직 생성되지 않았기 때문에 생기는 에러는 분명한 것 같은데요.





    손인호 께서 말씀하시기를...

    > 안녕하세요?

    > MDI 프로그램에서 이미 열려있는 다름폼의 값을 참조하려는데 Access Vioration

    > 에러가 생기는 군요.

    > 참조는 uses list에 참조하고자하는 폼(frm1)을 넣고,

    >

    > a := frm1.edit1.text; 와 같이 직접 불러오는 형식입니다.

    >

    >

    > SDI형식에서는 아무 문제가 없었는데, 그대로 MDI로 변환하닌까 문제가

    > 생기는 군요.

    > 아시는 분의 도움을 부탁드립니다.





  • Profile
    손인호 1999.06.21 06:27
    답변에 감사 드립니다.

    하지만 이미 생성된 폼이고 단지 현재 액티브 폼이 아닐 뿐입니다.

    액티브폼에서 생성됐지만 백그라운드상태(?)에 있는 폼을 참조할때

    이 에러가 발생합니다.

    그럼.





    박성훈 께서 말씀하시기를...

    > Access Violation은 아직 생성되지 않은 폼이나 변수를 참조하려고 할 때 생기는 것으로 알고 있습니다.

    > 물론 uses절에 frm1이 아니라 unit1을 넣으셨을 테구요.SDI를 MDI로 변환하셨다면 frm1이 autocreatable 폼이 아닐 가능성이 있는 것 같은데요. project option에서 확인해 보시길 바랍니다. 어쨋든 frm1이 아직 생성되지 않았기 때문에 생기는 에러는 분명한 것 같은데요.

    >

    >

    > 손인호 께서 말씀하시기를...

    > > 안녕하세요?

    > > MDI 프로그램에서 이미 열려있는 다름폼의 값을 참조하려는데 Access Vioration

    > > 에러가 생기는 군요.

    > > 참조는 uses list에 참조하고자하는 폼(frm1)을 넣고,

    > >

    > > a := frm1.edit1.text; 와 같이 직접 불러오는 형식입니다.

    > >

    > >

    > > SDI형식에서는 아무 문제가 없었는데, 그대로 MDI로 변환하닌까 문제가

    > > 생기는 군요.

    > > 아시는 분의 도움을 부탁드립니다.

    >

    >