2009-08-13 2 views
1

이미 Delphi에있는 응용 프로그램 용 Delphi Prism에서 플러그인을 만들어야합니다. www.remobjects.com에서 Hydra 3.0에 관한 모든 것을 읽었으며 몇 가지 질문이 있습니다. Hydra (Remobjects)를 사용하여 Delphi Prism에서 플러그인 만들기

  1. 당신은 나에게 델파이 호스트 및 닷넷 플러그인 간의 통신을 위해 사용자 인터페이스를 만드는 방법의 예를주세요 수 있습니다. 히드라의 ModuleController의 역할이 무엇인지

  2. (C# 또는 델파이 프리즘에 하나) 플러그인과 어떻게 작동합니까?

  3. 관리자 구성 요소의 역할은 무엇입니까?

Many Thanks in Advance.

답변

1

나는 "Hydra"여행을 나 자신으로 시작하지만, 나는 당신의 질문에 답하기 위해 최선을 다할 것입니다.

Q1. 이것은 당신의 상황에 대한 더 많은 정보 없이는 대답하기가 어렵습니다. Delphi 코드 기반에 액세스 할 수 있습니까? 이미 플러그인이있는 기존 응용 프로그램에 플러그인을 추가 하시겠습니까, 아니면 방금 Hydra 플러그인 프레임 워크를 응용 프로그램에 추가하기 시작 했습니까? 지금은 기존 호스트 응용 프로그램에 새 플러그인을 추가하고 호스트와 플러그인 간의 통신에 사용할 사용자 정의 인터페이스가 포함 된 .pas 파일이 있다고 가정합니다. 그렇다면 다음이 당신을 위해 일해야합니다.

  • Visual Studio에서 새로운 "RemObjects Hydar"-> "Plugin Module"프로젝트를 시작해야합니다.
  • 가져 오기 "도구"이동하여 통신 인터페이스를 포함하는 일단의 .pas 파일 -> "히드라"-> "델파이 단위에서 가져 오기 인터페이스"
  • 이 새로운 "RemObjects에 히드라를"추가 -> "(비) 비주얼 플러그인 "항목을 프로젝트에 추가하십시오.
  • 새 플러그인 클래스에 인터페이스를 추가하고 인터페이스의 메소드를 구현하십시오.

그럴 것입니다. 이제 호스트 응용 프로그램에서 플러그 인을 쿼리하여 구현 된 인터페이스를 확인한 다음 필요한 메서드를 호출 할 수 있습니다.

이이 플러그인 클래스는

type 
    [Plugin, NonVisualPlugin] 
    MyPlugin = public partial class(RemObjects.Hydra.NonVisualPlugin, IMyInterface) 
    private 
    protected 
    method Dispose(aDisposing: boolean); override; 
    method MyMethod(const MyInput: String; out MyOutput: String); 
    public 
    constructor; 
    end; 

Q2 어떻게 보일지 같은 것입니다 가져온 인터페이스 파일이

type 
    {$REGION Attributes} 
    [Guid('9D445B3E-CA9F-4C67-815A-F5EC6BAB5D60')] 
    {$ENDREGION} 
    IMyInterface = public interface(IHYCrossPlatformInterface) 
    method MyMethod(const MyInput: String; out MyOutput: String); 
    end; 

모양을합니다 같은 것입니다. 내가 아는 한 모듈 컨트롤은 플러그인 모듈에있는 모든 플러그인을 호스트 응용 프로그램에 등록해야합니다. 플러그인에서 플러그인을 사용하여 호스트 응용 프로그램과 통신 할 수도 있습니다.

3. THYModuleManager를 참조한다고 가정합니다. 이것은 (다른 것들 중에서) 런타임에 모든 플러그인을로드하는 데 사용됩니다.

희망이 있습니다.

관련 문제