Q&A

  • 일반폼에 MDI 생성시켜서 사용하는데, user32.dll 에러가..나옵니다.
안녕하세요.
일반 폼위에 폼을 하나 만들어서, MDI로 하고,
chil 폼을 여러개 만들어서,, 해당 메뉴를 클릭할때 창이 실행되게 했습니다.

  Application.Initialize;
  Application.ShowMainForm := false;
  Application.CreateForm(TMdiForm, MdiForm); // TMain 폼위에 생성되는 MDI 폼
  Application.CreateForm(TMain, Main);
  Main.Show; // Main 폼 생성
  Application.Run;


위에서 MDI 폼을 Main폼이 생성할때(Create)에다가 생성시켜 줍니다.
  
  MdiForm.Parent := panMainback; // Main폼위에 특정영역에만..지정
  MdiForm.Align := alClient;
  MdiForm.Show;

Child 생성(각 메뉴 클릭시)
  frmdata := TfrmData.Create(self);
  frmdata.show;

  frmview := Tfrmmapview.Create(self);
  frmview.show;

  frmplus := Tfrmstatics.Create(self);
  frmplus .Show;

생성까지는 잘됩니다.
그런데, 생성된 child 창의 확대를 누르면,
에러가 발생합니다.

access violation at address (숫자) in module user32.dll .................

그런데, 위 에러가 항상 발생하는게 아니라,
집중적으로 발생하다가 안하다가,,그럽니다.
그리고 최초 확대시 에러가 나지 않으면..끝까지 나지 않습니다.
user32.dll 이것이 인터페이스 하고 관련된 것이라고만 나와있네요.
창 조절 등과 관련된 것이라고 하는데, 해결방법을 모르겠습니다.
..

수평, 수직, cascade 정렬등은. 잘됩니다..
도대체 뭐가 잘 못된 것인지..좀..알려주세요.
핸들 관리 때문에 그런건가요?
아니면...^^

좀..알려주세요. 하루종일...하고 있습니다.
0  COMMENTS