두개의 A, B의 MDI Child Form이 있는데요..
A는 입력화면이고 B는 조회화면입니다.
A에서 B를 부를수도 있고 B에서 A를 부를수조 있게끔 코딩을 하고픈데..
아래의 방법으로 하면 form active가 2~3번씩 일어나서 화면이
자꾸 깜빡거립니다.
고수님들 해결방법 좀 갤켜주시면..
- 아래 -
A에서 B를 부를때
Try
Fsale210i := TFsale210i.Create(Self 또는 Application); // 요기서 한번
fsale210i.FormStyle := fsNormal; // 요기서 한번
fsale210i.Visible := False;
fsale210i.ShowModal;
Finally
fsale210a.Free;
End;
해서 fssale210i를 Design시에 FormStyle을 Normal로 놓고 Visible을 False로
놓은 후
Try
Fsale210i := TFsale210i.Create(Self 또는 Application);
fsale210i.ShowModal;
Finally
fsale210a.Free;
End;
이처럼 하면 전혀 문제가 없습니다. 그러기 위해서는 2개의 동일한 Form을
가져가야하는 불합리한 점이 있어 이렇게 자문을 구합니다.
제발 해결 좀 부탁드립니다. 꾸벅
주로 사용하는 방법중에 하나는 먼저 그 폼이 이미 생성되 있나 알아보고 생성되어 있으면 show나 bringtofront(?)를 사용할수 있읍니다.
생성되 있는지 알아보는 방법은
if YourChildForm <> nil then // 생성되 있음. 이것이 가능하기 위해서는
// YourChildForm을 죽일때 항상 YourChildForm := nil을 실행.
가장 주의하실 일은 childform들을 ShowModal로 나타내지 말아야 한다는 것입니다.
그외에도 주의할 사항이 몇가지 더 있는 것같은데 지금 생각이 잘 안나는군요. 죄송.
델피초보 wrote:
> 두개의 A, B의 MDI Child Form이 있는데요..
>
> A는 입력화면이고 B는 조회화면입니다.
>
> A에서 B를 부를수도 있고 B에서 A를 부를수조 있게끔 코딩을 하고픈데..
> 아래의 방법으로 하면 form active가 2~3번씩 일어나서 화면이
> 자꾸 깜빡거립니다.
>
> 고수님들 해결방법 좀 갤켜주시면..
>
> - 아래 -
> A에서 B를 부를때
> Try
> Fsale210i := TFsale210i.Create(Self 또는 Application); // 요기서 한번
> fsale210i.FormStyle := fsNormal; // 요기서 한번
> fsale210i.Visible := False;
> fsale210i.ShowModal;
> Finally
> fsale210a.Free;
> End;
>
> 해서 fssale210i를 Design시에 FormStyle을 Normal로 놓고 Visible을 False로
> 놓은 후
> Try
> Fsale210i := TFsale210i.Create(Self 또는 Application);
> fsale210i.ShowModal;
> Finally
> fsale210a.Free;
> End;
> 이처럼 하면 전혀 문제가 없습니다. 그러기 위해서는 2개의 동일한 Form을
> 가져가야하는 불합리한 점이 있어 이렇게 자문을 구합니다.
>
> 제발 해결 좀 부탁드립니다. 꾸벅
>
>