Q&A

  • 최용일님께 질문드립니다. - MDICHILD에서 SHOWMODAL로 폼 띄우기
최용일님을 지목해서 질문을 드려서 죄송합니다.

최용일님의 저와 비슷한 내용의 질문을 한것이 있을까하고 찾다가, 엉뚱하게 최용일님

께서 답변하신 다른 문제점을 아주 손쉽게 해결을 하게 되어서 제가 무려 한달가까이

해결하지 못한 문제를 해결할 수 있을까하고 이렇게 질문을 드리게 되었습니다.

저의 문제를 꼭 해결해 주시리라 믿고 이렇게 질문을 드리겠습니다.

부담을 드려서 죄송하네요.. 너무 급한 문제라... 이해해 주십시오



DLL로 MDICHILD폼을 만들었습니다. 한 DLL에 평균 20개씩의 폼을 포함하고 있습니다.



첫째 질문

같은 폼을 아래와 같은 소스로 똑같이 불러 주었을 때-> 두번 부르거든요

한번은 이상없이 폼이 생성되어 나타납니다. 이상없이 끝나고요, 그런데, 두번째 부를

때는 에러가 나타납니다. 무엇때문일까요????????

호출하는 소스는 아래와 같습니다. 그리고 두번째 호출 할때도 아래의 소스와 같이

만들었습니다. 이것때문에 미치겠네요 T_T T_T T_T

한달동안 머리를 싸매도 왜 그렇게 되는지 모르겠습니다.



procedure TBCIRC03.edtclName1KeyPress(Sender: TObject;

var Key: Char);

begin

if Key = #13 then begin

Key := #0;

if not CustFound1 then begin

BSHCR01 := TBSHCR01.Create(nil);

try

BSHCR01.Left := 152;

BSHCR01.Top := 0;

if BSHCR01.ShowModalSelect('', edtclNAME1.Text) = mrOK then begin

edtCUGU1.Text := Trim(BSHCR01.CUGU);

edtCUNO1.Text := Trim(BSHCR01.CUNO);

edtclNAME1.Text := BSHCR01.Name;

end;

finally

BSHCR01.Free;

end;

end;



edtCUGU2.SetFocus;

end;

end;



에러메시지는 페이지오류라고 나타날때도 있고, Access Violation이라고도 나타날 때

도 있습니다.



두번째 질문:

MDICHILDFORM에서 SHOWMODAL로 한 다섯개의 폼을 호출할 수 있는지 궁금합니다.

예) MDICHILDFORM1 -> SHOWMODALFORM1 -> SHOWMODALFORM2 -> SHOMODALFORM3

위와 같이 호출할 수 있나요, 물론 DLL에서 입니다.



이상 두가지 질문을 드립니다.

위와 같은 질문이 나온것을 찾을려고 했는데, 없더라구요....

혹시 답변이 이미 나온것이면 정말 죄송하구요

그럼 저의 애절한 질문을 꼭 받아주시리라 믿고 가겠습니다.....말이 이상한가

^^;;;;;;;;;;;;

그럼 즐코하시구요. 20000.....................



1  COMMENTS
  • Profile
    최용일 2000.07.31 19:17
    안녕하세요. 최용일입니다.



    첫번째는 직접 디버깅을 해보세요. 사실 첫번째 같은 경우는 코딩만으로는 알 수 없는 경우가 더



    많습니다. 직접 디버깅을 해보시고 어디에서 에러가 났는지 판단하시는것이 더 빠릅니다. 대부분의



    경우가 메모리를 잘 못건드려서 발생하니까요...



    두번째도 가능합니다.



    ^^ 항상 즐코하세요.



    김명성 wrote:

    > 최용일님을 지목해서 질문을 드려서 죄송합니다.

    > 최용일님의 저와 비슷한 내용의 질문을 한것이 있을까하고 찾다가, 엉뚱하게 최용일님

    > 께서 답변하신 다른 문제점을 아주 손쉽게 해결을 하게 되어서 제가 무려 한달가까이

    > 해결하지 못한 문제를 해결할 수 있을까하고 이렇게 질문을 드리게 되었습니다.

    > 저의 문제를 꼭 해결해 주시리라 믿고 이렇게 질문을 드리겠습니다.

    > 부담을 드려서 죄송하네요.. 너무 급한 문제라... 이해해 주십시오

    >

    > DLL로 MDICHILD폼을 만들었습니다. 한 DLL에 평균 20개씩의 폼을 포함하고 있습니다.

    >

    > 첫째 질문

    > 같은 폼을 아래와 같은 소스로 똑같이 불러 주었을 때-> 두번 부르거든요

    > 한번은 이상없이 폼이 생성되어 나타납니다. 이상없이 끝나고요, 그런데, 두번째 부를

    > 때는 에러가 나타납니다. 무엇때문일까요????????

    > 호출하는 소스는 아래와 같습니다. 그리고 두번째 호출 할때도 아래의 소스와 같이

    > 만들었습니다. 이것때문에 미치겠네요 T_T T_T T_T

    > 한달동안 머리를 싸매도 왜 그렇게 되는지 모르겠습니다.

    >

    > procedure TBCIRC03.edtclName1KeyPress(Sender: TObject;

    > var Key: Char);

    > begin

    > if Key = #13 then begin

    > Key := #0;

    > if not CustFound1 then begin

    > BSHCR01 := TBSHCR01.Create(nil);

    > try

    > BSHCR01.Left := 152;

    > BSHCR01.Top := 0;

    > if BSHCR01.ShowModalSelect('', edtclNAME1.Text) = mrOK then begin

    > edtCUGU1.Text := Trim(BSHCR01.CUGU);

    > edtCUNO1.Text := Trim(BSHCR01.CUNO);

    > edtclNAME1.Text := BSHCR01.Name;

    > end;

    > finally

    > BSHCR01.Free;

    > end;

    > end;

    >

    > edtCUGU2.SetFocus;

    > end;

    > end;

    >

    > 에러메시지는 페이지오류라고 나타날때도 있고, Access Violation이라고도 나타날 때

    > 도 있습니다.

    >

    > 두번째 질문:

    > MDICHILDFORM에서 SHOWMODAL로 한 다섯개의 폼을 호출할 수 있는지 궁금합니다.

    > 예) MDICHILDFORM1 -> SHOWMODALFORM1 -> SHOWMODALFORM2 -> SHOMODALFORM3

    > 위와 같이 호출할 수 있나요, 물론 DLL에서 입니다.

    >

    > 이상 두가지 질문을 드립니다.

    > 위와 같은 질문이 나온것을 찾을려고 했는데, 없더라구요....

    > 혹시 답변이 이미 나온것이면 정말 죄송하구요

    > 그럼 저의 애절한 질문을 꼭 받아주시리라 믿고 가겠습니다.....말이 이상한가

    > ^^;;;;;;;;;;;;

    > 그럼 즐코하시구요. 20000.....................

    >