Q&A

  • [질]메인에서 폼생성뒤 free를 안하고 , 생성폼에서 caFree ???
1. MDI 폼에서 <<<***********



변수 := 폼.create(self);

변수.show



나중에 변수.free <<<<<< 이거 안하고



mdichild 에서 cafree 하는걸로 알고 있습니다..요..



그런데



MDI 폼이 아닌



2. normal 폼에서 <<<**************************



폼.create(self);



하고..

mdichilld에서 caFree 로 메모리 해제..



이렇게 해도 되던데...



기본적으로 mail에서 호출하면 메인에서 변수 에다 기억한뒤에

해제 해주어야..될것 같은데..음..



메인에서 변수에 기억안하고..



호출된 곳에서 FormColse 에 caFree를 해버려도.메모리 해제가..



되는것도 같더군요...



.........델파이 고수님들은...어찌...하는지..



제가 쓰는 os가...2000이라 그런지..



메모리가 해제 되는걸로 보이는군요..



노말 폼생성해서 caFree하는 방법으로 Codeing 해도 별 무리가



없는지................정말 정말.....궁금 궁금......



mail 에서 해제 하는걸로 Codeing하다가..



해제 안하고 호출된 폼에서 caFree를 이용하는 그런 코딩방법..정말..



어떤걸로...코딩습관을..잡아야되는지......아리송...합니다.



procedure TChildForm.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action := caFree; << MDI폼생성이 아닌 Normal 에서 이거 믿고...free 안해도???

end;





2  COMMENTS
  • Profile
    yosule 2001.07.07 02:39
    폼을 메모리에 동적으로 생성시켰다가 해제시킬적엔 저두 그 방법을

    씁니다. Action := caFree;



    Free나 위의 방식은 똑갔습니다. 아무 방식이나 쓰세요.

    전 위의 Action 할당문 방식을 선호합니다.

    코딩하다 Free 잘못 사용해서 가끔 고생하거덩요...



    type

    TCloseAction = (caNone, caHide, caFree, caMinimize);



    위의 폼이 닫힐때 어떤 방식으로 행동할 건지 정해줄수 있는

    값들입니다....코딩시 편하겠죠...



    그럼...

  • Profile
    나그나그 2001.07.07 20:44
    yosule wrote:

    > 폼을 메모리에 동적으로 생성시켰다가 해제시킬적엔 저두 그 방법을

    > 씁니다. Action := caFree;

    >

    > Free나 위의 방식은 똑갔습니다. 아무 방식이나 쓰세요.

    > 전 위의 Action 할당문 방식을 선호합니다.

    > 코딩하다 Free 잘못 사용해서 가끔 고생하거덩요...

    >

    > type

    > TCloseAction = (caNone, caHide, caFree, caMinimize);

    >

    > 위의 폼이 닫힐때 어떤 방식으로 행동할 건지 정해줄수 있는

    > 값들입니다....코딩시 편하겠죠...

    >

    > 그럼...



    **********

    으샤...그럼.저도 방법을...바꾸어서..caFree로 코딩을.

    **********



    아!..그리고.. 그렇게 하면..

    생성폼의 핸들을 찾을때에는.. 폼의 Cation Name 을 얻어서 핸들을 얻으시겠죠?.

    뭐...핸들 얻는 방법은..여러방법이 있을테니까..

    으샤...답변 감사....