Q&A

  • 모달리스폼이 제대로 Free되질 않아여-_-;
안냐세욥..T_T;

폼이 세개 있습니당.. F1, F2, F3이렇게요.

F1이 메인폼이고, F2는 F1에서 동적생성한 모달리스폼입니당.

F1위에는 트리컨트롤하나가 올려져 있고요..

F2는 F1에서 동적생성한 것입니다. 그런데 이 F2가 제대로

Free가 되질 않는것 같습니다.. OnClose에서 Action=caFree;

를 지정해도 계속 발생합니당.. 문제의 코드는 아래와 같습니당..

F2보기 핸들러에서, 이미 한번 만들어졌다면, 포커스만 주기위해

한것인데, SetFocus에서 계속 에러가 납니당. -_-;

//////////////////////////////////////////////////////

if FAddForm = nil then begin

FAddForm := TAddForm.Create(self);

TRY

FAddForm.Left := 0;

FAddForm.Top := 0;

FAddForm.Show;

EXCEPT

MessageDlg('Create Failed!', mtError, [mbOk], 0);

Exit;

END;

end

else begin

FAddForm.SetFocus; <-- 바로 요기에서 에러가 납니당..

end;

//////////////////////////////////////////////////////////

그러니깐. 처음 생성한후 제거는 되었다가. 다시 이 핸들러가 콜되면

FAddForm 이 nil이 되질 않습니당.. 그러니깐 Free 가 제대로 되질

않았다는 뜻이겠지요? -_-; 하지만, 폼은 눈앞에서 사라졌습니당..

어딘가 잘못된것 같은데,, 고수님들 부탁드립니당..



2  COMMENTS
  • Profile
    parkisu 2000.10.18 16:27
    폼이 메모리상에서 완전히 제거되지 않은 것 같은데요.

    FAddForm의 OnClose이벤트에



    FAddForm:= nil;



    를 추가해 보세요.





    델초 wrote:

    > 안냐세욥..T_T;

    > 폼이 세개 있습니당.. F1, F2, F3이렇게요.

    > F1이 메인폼이고, F2는 F1에서 동적생성한 모달리스폼입니당.

    > F1위에는 트리컨트롤하나가 올려져 있고요..

    > F2는 F1에서 동적생성한 것입니다. 그런데 이 F2가 제대로

    > Free가 되질 않는것 같습니다.. OnClose에서 Action=caFree;

    > 를 지정해도 계속 발생합니당.. 문제의 코드는 아래와 같습니당..

    > F2보기 핸들러에서, 이미 한번 만들어졌다면, 포커스만 주기위해

    > 한것인데, SetFocus에서 계속 에러가 납니당. -_-;

    > //////////////////////////////////////////////////////

    > if FAddForm = nil then begin

    > FAddForm := TAddForm.Create(self);

    > TRY

    > FAddForm.Left := 0;

    > FAddForm.Top := 0;

    > FAddForm.Show;

    > EXCEPT

    > MessageDlg('Create Failed!', mtError, [mbOk], 0);

    > Exit;

    > END;

    > end

    > else begin

    > FAddForm.SetFocus; <-- 바로 요기에서 에러가 납니당..

    > end;

    > //////////////////////////////////////////////////////////

    > 그러니깐. 처음 생성한후 제거는 되었다가. 다시 이 핸들러가 콜되면

    > FAddForm 이 nil이 되질 않습니당.. 그러니깐 Free 가 제대로 되질

    > 않았다는 뜻이겠지요? -_-; 하지만, 폼은 눈앞에서 사라졌습니당..

    > 어딘가 잘못된것 같은데,, 고수님들 부탁드립니당..

    >

  • Profile
    델초 2000.10.18 22:13
    parkisu wrote:

    > 폼이 메모리상에서 완전히 제거되지 않은 것 같은데요.

    > FAddForm의 OnClose이벤트에

    >

    > FAddForm:= nil;

    >

    > 를 추가해 보세요.

    >

    >

    > 델초 wrote:

    > > 안냐세욥..T_T;

    > > 폼이 세개 있습니당.. F1, F2, F3이렇게요.

    > > F1이 메인폼이고, F2는 F1에서 동적생성한 모달리스폼입니당.

    > > F1위에는 트리컨트롤하나가 올려져 있고요..

    > > F2는 F1에서 동적생성한 것입니다. 그런데 이 F2가 제대로

    > > Free가 되질 않는것 같습니다.. OnClose에서 Action=caFree;

    > > 를 지정해도 계속 발생합니당.. 문제의 코드는 아래와 같습니당..

    > > F2보기 핸들러에서, 이미 한번 만들어졌다면, 포커스만 주기위해

    > > 한것인데, SetFocus에서 계속 에러가 납니당. -_-;

    > > //////////////////////////////////////////////////////

    > > if FAddForm = nil then begin

    > > FAddForm := TAddForm.Create(self);

    > > TRY

    > > FAddForm.Left := 0;

    > > FAddForm.Top := 0;

    > > FAddForm.Show;

    > > EXCEPT

    > > MessageDlg('Create Failed!', mtError, [mbOk], 0);

    > > Exit;

    > > END;

    > > end

    > > else begin

    > > FAddForm.SetFocus; <-- 바로 요기에서 에러가 납니당..

    > > end;

    > > //////////////////////////////////////////////////////////

    > > 그러니깐. 처음 생성한후 제거는 되었다가. 다시 이 핸들러가 콜되면

    > > FAddForm 이 nil이 되질 않습니당.. 그러니깐 Free 가 제대로 되질

    > > 않았다는 뜻이겠지요? -_-; 하지만, 폼은 눈앞에서 사라졌습니당..

    > > 어딘가 잘못된것 같은데,, 고수님들 부탁드립니당..

    > >



    우선 parkisu님의 답변 감사드립니당..해결했습니당.. 근데,,

    FAddFrom 변수를 가지고 있는 유닛의 멤버변수(public)로 선언하면

    여전히 런타임에 Access Violation이 발생하더군요.. 저는 이것때문에 어제

    새벽을.. 허비한것 같습니다. ㅠ_ㅠ; 아까버라~~

    근데,, 글로벌로 선언하니.. 제대로 동작하는군요.. 왜그런지 아신다면

    설명을 부탁드립니다

    • 이성훈
      2000.10.25 02:32
      초보개발자 wrote: > 공장자동화 라인에서 사용하는 컴이 도스용인데..여기에 델파이5.0으로 > 만든 프로...
    • 초보자
    • 2000.10.18 20:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 강인규
      2000.10.19 00:18
      디테일밴드가 한장을 넘어가면 그런 일이 생기기도 합니다. 디테일밴드를 줄여보세요. 즐프하세여~ ^-^ ...
    • 호야
    • 2000.10.18 19:42
    • 0 COMMENTS
    • /
    • 0 LIKES
    • raeganja
    • 2000.10.18 19:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 강인규
      2000.10.18 20:01
      자동증가 있는데염. 파라독스라면 FieldType에 AutoInc가 있구요..... MS-SQL은 프라이머리키로 설정하시...
    • 초보자
    • 2000.10.18 19:20
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2000.10.18 21:48
      데이타가 보이지 않는다는것이 무슨 의미인지요? 설정을 했는데.... 해당 데이타가 DBLookupcombobox에 나...
    • 초보자
      2000.10.18 22:20
      dblookupcombobox에 설정을 다해주면 데이타가 주욱 나오잖아여,, 거기서 하나를 선택하면 내가 선택한게 ...
    • 임성룡
    • 2000.10.18 19:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김정
      2000.10.18 19:35
      안녕하세요? 고드름 김정입니다. 패키지 프로젝트를 여시고, 해당 유닛을 제거하시고 다시 인스톨하시...
    • 김정
      2000.10.18 19:34
      안녕하세요? 고드름 김정입니다. Video for windows API 중에서 capGetDriverDescription() 라는 함...
    • 한승구
      2000.10.19 04:37
      김정 wrote: > 안녕하세요? > 고드름 김정입니다. > > Video for windows API 중에서 > > capGetDr...
    • 김정
      2000.10.19 06:34
      안녕하세요? 고드름 김정입니다. 제가 선언부를 적지 않았더군요. 이렇게 바꾸세요. 그럼. var nTem...
    • 한승구
      2000.10.19 19:45
      김정 wrote: > 안녕하세요? > 고드름 김정입니다. > > 제가 선언부를 적지 않았더군요. 이렇게 바꾸세...
    • 청강생
    • 2000.10.18 18:48
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 한하눌
      2000.10.18 19:05
      청강생 wrote: > > Stringgird의 data를 Excel로 변환할 때 > 문자열 지정을 하지 않으면 전체가 숫자...
    • 청강생
      2000.10.18 20:23
      한하눌 wrote: > 청강생 wrote: > > > > Stringgird의 data를 Excel로 변환할 때 > > 문자열 지정을 ...
    • 한하눌
      2000.10.19 06:52
      청강생 wrote: > 한하눌 wrote: > > 청강생 wrote: > > > > > > Stringgird의 data를 Excel로 변환할 ...
    • 청강생
      2000.10.20 17:33
      한하눌 wrote: > 청강생 wrote: > > 한하눌 wrote: > > > 청강생 wrote: > > > > > > > > Stringgird...
    • parkisu
      2000.10.19 11:47
    • cell
      2000.10.19 02:05
    • 임형호
      2000.10.18 18:58
    • 2000.10.18 19:35
    • 한하눌
      2000.10.18 19:49
    • 2000.10.18 20:02
    • 임형호
      2000.10.18 21:47
    • 한하눌
      2000.10.18 19:41
      이해경 wrote: > 안녕하세요? Delphi에서 Excel로 보고서를 출력하는 작업을 하고 있으며, Error가 발생하...
    • 이해경
      2000.10.18 20:45
      답변 감사합니다. 그렇게 하니까 Process는 종료가 되었습니다. 하지만 Process 종료시 저장 여부를 물어...
    • 델초
    • 2000.10.18 13:40
    • 2 COMMENTS
    • /
    • 0 LIKES
    • parkisu
      2000.10.18 16:27
      폼이 메모리상에서 완전히 제거되지 않은 것 같은데요. FAddForm의 OnClose이벤트에 FAddForm:= nil...
    • 델초
      2000.10.18 22:13
      parkisu wrote: > 폼이 메모리상에서 완전히 제거되지 않은 것 같은데요. > FAddForm의 OnClose이벤트에 ...
    • parkisu
      2000.10.18 16:20
      MS엑세스같은 것들이 그런 프로그램입니다. 아마도 C나 C++로 만들어진 프로그램들에서 주로 그런 것 같아...
    • 2000.10.18 18:15
      http://www.delphi.co.kr/cgi-bin/cwb/CrazyWWWBoard.cgi?db=freetalk&mode=download&num=3290&file=Projec...
    • 김경한
    • 2000.10.18 11:17
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 강인규
      2000.10.18 18:54
      음.... 잘 모르지만 한자 적어봅니다. ^-^; 디비의 자료를 읽어오는 방법이 BDE세팅이나 ODBC설정 뿐일...
    • 권영길
      2000.10.18 11:29
      "Provider=SQLOLEDB;Connect Timeout=7;SERVER=MYSERVER;UID=MYUSER;PWD=MYPASS;DATABASE=MYDB" 이런식이...
    • psunk
    • 2000.10.18 06:54
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김정
      2000.10.18 08:18
      안녕하세요? 고드름 김정입니다. Type Library에서 속성을 만드신 후, (데이터타입을 결정하고 ...) U...
    • psunk
      2000.10.18 08:48
      답변 감사합니다. Type Library 에는 등록이 모두 되어있습니다. 그런데도 액티브 폼에서 그 프로퍼티를 ...
    • 김정
      2000.10.18 19:15
      안녕하세요? 고드름 김정입니다. 말씀하신 것까지는 맞습니다. 하지만 Type Library에서 만든 것은 In...
    • 허준
      2000.10.18 19:06
      windows 2000 Professional에는 SQL7.0 서버를 깔수가 없습니다. windows 2000 Professional은 NT WORKSTA...
    • 인디안
    • 2000.10.18 04:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김정
      2000.10.18 08:20
      안녕하세요? 고드름 김정입니다. 질문하신 내용이, 델에서 GIF저장을 하셨다는 것인지 저장된 것을 보...