Q&A

  • 흑 안됩니다 (다중 폼에관한 ) 급합니다 .그리구 꼭
이렇게 염치없이 또 글을 올리는군요

다름이 아니라 폼을 여러개를 생성했더니 메모리를 확장한다 머한다하면서 델파이가 멈춰버리더군요 그래서 동적으로 생성을 해볼려구 소스를 수정했는데 문제는

맨처음 폼을 생성하고 난후 다음으로 넘어갈때 즉 폼1을 클릭하면 폼2로 넘어가는데 이때 폼1을 종료하고 폼2를 모달로 보여주었습니다

맨처음은 잘되는것 같더니 에러가 막 ,,,,

즉 폼2에서 폼1으로 이동때 폼1을 다시 생성했더니 그렇게 되더군요

제가 지금만들고 있는 폼의개수는 약 18개 정도 되는데 그걸 다그런식으로 처리 할려구 하니 잘안되네요

약간의 문제의 소스를 보여드리겠습니다

procedure TForm6.Image10Click(Sender: TObject);

begin



Form14:= TForm14.Create(Application);

form6.Release;

Form14.showmodal;

end;

즉 이런식으로 6번폼에서 이벤트발생시 14번폼을 생성하고 폼6을 해제하고



procedure TForm14.Image243Click(Sender: TObject);

begin

Form6:= TForm6.Create(Application);

Form14.release;

Form6.showmodal;

end;

이렇게 했는데 ..... 계속 에러가 나오거든요

그리구 종료시에도 에러가

오늘 왠종일 책을 보구 했는데도 흑 ......정말 꼭 알려주셨으면 ,,,

부탁드립니다 .

그리구 좋은 하루 되세요 꾸벅







2  COMMENTS
  • Profile
    정성훈 2000.04.30 13:35
    안녕하세요..

    음 전 컴퍼넌트 팔레트가 깨지는 거 때문에 잠시 왔다가..이글 보구

    올립니다..

    폼을 생성하실때..그냥 하지 마시고요

    예외처리를 한번 두어 보시지요..

    저같은 경운 폼하나를 생성하더라도...왠종일 띄워놓는 프로그램들이 여러개

    있거든요..그래서 항상 같은 방식으로 처리하는데..에러는 없었습니다..



    > procedure TForm6.Image10Click(Sender: TObject);

    > begin

    >

    > Form14:= TForm14.Create(Application);

    > form6.Release;

    > Form14.showmodal;

    > end;



    위 부분을...

    begin

    try

    Form14 := TForm14.Create( Application );

    Form6.Release;

    Form14.ShowModal;

    finally

    Form14.Free;

    end;

    end;



    제가 알기로는 이 예외처리는 반환입니다..

    아마 에러 없을것입니다..

    글구 Form14를 띄우고 나서 Form6을 Release 시키지 마시구

    Form14의 CloseQuery 이벤트에 Form6을 Release 시켜도 괜찮을듯 싶네요...

    아직 미숙해서 도움이 되었나 모르겠네요...^^

    그럼...즐거운 하루 되세요..



    changhwan wrote:

    > 이렇게 염치없이 또 글을 올리는군요

    > 다름이 아니라 폼을 여러개를 생성했더니 메모리를 확장한다 머한다하면서 델파이가 멈춰버리더군요 그래서 동적으로 생성을 해볼려구 소스를 수정했는데 문제는

    > 맨처음 폼을 생성하고 난후 다음으로 넘어갈때 즉 폼1을 클릭하면 폼2로 넘어가는데 이때 폼1을 종료하고 폼2를 모달로 보여주었습니다

    > 맨처음은 잘되는것 같더니 에러가 막 ,,,,

    > 즉 폼2에서 폼1으로 이동때 폼1을 다시 생성했더니 그렇게 되더군요

    > 제가 지금만들고 있는 폼의개수는 약 18개 정도 되는데 그걸 다그런식으로 처리 할려구 하니 잘안되네요

    > 약간의 문제의 소스를 보여드리겠습니다

    > procedure TForm6.Image10Click(Sender: TObject);

    > begin

    >

    > Form14:= TForm14.Create(Application);

    > form6.Release;

    > Form14.showmodal;

    > end;

    > 즉 이런식으로 6번폼에서 이벤트발생시 14번폼을 생성하고 폼6을 해제하고

    > 또

    > procedure TForm14.Image243Click(Sender: TObject);

    > begin

    > Form6:= TForm6.Create(Application);

    > Form14.release;

    > Form6.showmodal;

    > end;

    > 이렇게 했는데 ..... 계속 에러가 나오거든요

    > 그리구 종료시에도 에러가

    > 오늘 왠종일 책을 보구 했는데도 흑 ......정말 꼭 알려주셨으면 ,,,

    > 부탁드립니다 .

    > 그리구 좋은 하루 되세요 꾸벅

    >

    >

    >

  • Profile
    changhwan 2000.04.30 13:48
    정성훈님 한번해보구 알려드릴께요 ^^

    정말 감사 합니다 ,.,.,.