2014-05-19 2 views
1

나는 나사로를 사용하고 있는데, TForm1과 유닛 이름의 유닛 1이라는 형식이 있습니다. 여기에는 mergeDATfile(a:shortint);이라는 절차가있어서 물건을 만듭니다.다른 양식의 절차를 호출

그런데 TForm2이라는 또 다른 양식을 만들어야했고이 안에는 버튼 (Button1)이 있습니다. 이 키를 누르면 첫 번째 양식에서 mergeDATfile(a:shortint);으로 전화해야합니다.

enter image description here

내가 어떻게 할 수 있을까?

답변

4

명백한 해결책은 MergeDatFile 기능을 두 가지 양식 단위에서 모두 사용할 수있는 공통 단위로 옮기는 것입니다.

+0

메소드가 인스턴스 메소드 인 경우 어떻게됩니까? –

+2

이 시나리오에서는 거의 일어나지 않을 것이라고 말하고 싶습니다. 어떤 경우에도 두 개의 데이터 파일을 병합하는 폼 인스턴스 메서드는 다소 모호한 디자인 결정입니다. –

2

이 메서드는 TForm1의 멤버에서 작동하기 때문에 TForm1 메서드라고 가정합니다. 어떤 경우에는 다음을 수행하십시오.

  1. 메소드를 공개 메소드로 노출하십시오.
  2. TForm2 인스턴스가 TForm1 인스턴스에 액세스하도록 정렬하십시오.
  3. TForm1 인스턴스의 메소드를 호출하십시오.

제 가정이 올바르지 않으면이 방법을 TForm1 밖으로 이동하여 두 가지 양식에서 모두 사용할 수 있습니다.

관련 문제