2011-05-11 1 views
3

영상이 스크립트 코드 : 나는 스크립트에 절차 "CallToDelphi"을 노출 한Delphi Web Script : 실행 컨텍스트 내에서 Delphi 코드로 스크립트 함수를 호출하는 방법은 무엇입니까?

procedure A; 
begin 
    CallToDelphi; 
end; 

procedure B; 
begin 
    // do something 
end; 

. 그래서 호출 될 때, 나는 Delphi 코드의 스크립트에서 돌아 왔습니다. 이제 Delphi 코드에서 스크립트 프로 시저 "B"를 호출하려고합니다. IdwsProgramExecution-Context에 숨겨져 있어야한다고 생각합니다. 하지만 아직 아무것도 찾지 못했습니다. 나는 그런 것을 찾고 있습니다.

procedure CallToDelphi; 
begin 
    Exec.Invoke('B', []); // Exec is IdwsProgramExecution 
end; 

어떻게 든 가능합니까?

답변

2

은 무엇 당신이 찾고있는 것은 아마도 단위 테스트에서

Exec.Info.Func['B'].Call([]) 

http://code.google.com/p/dwscript/wiki/FirstSteps에서 좀 더 많은 샘플 (함수 아래로 스크롤)이있다

로 사용할 수 있습니다 IInfo 인터페이스 및 일부 사용 코드 (특히 UdwsUnitTests, CallFunc 메서드 참조).

IInfo는 RTTI를 쿼리하고, 함수를 호출하고, 변수를 직접 가져 오거나 설정하고, 스크립트 측 객체를 인스턴스화하는 기본 방법으로 Delphi 측을 지원합니다. 샘플 코드의 대부분은 현재 유닛 테스트에 있습니다.

+0

감사합니다. 이미 단위 테스트를 살펴 보았지만 찾지 못했습니다. 귀하의 안내에 감사드립니다. 이제는 분명합니다. 이것은 내가 찾고 있었던 바로 그 것이다. –

관련 문제