안녕하세요?
델파이를 시작한지 얼마 되지 않은 초보입니다.
델파이는 2005 버젼을 사용하고 있습니다.
VCL 어플리케이션에 flash activeX control을 추가하여,
플래시 무비를 로드하는 데 까지는 성공했습니다.
플래시 무비에서 ExternalInterface를 정의하여 외부와의 통신을 하려고 합니다.
(웹페이지를 통한 통신은 아닙니다.)
문제는 델이파에서 로드한 무비에 어떻게 function call을 해야 하는 가 입니다.
FSCommand는 플래시 내부에서 외부로의 호출을 할 때 사용하는 것으로 알고 있습니다.
제가 하려는 것은 그 역인, 프로그램내부에서 플래시로의 함수 호출입니다.
flash activeX내에 CallFunction이란 메쏘드가 있기는 하지만,
파라미터의 전달이 정의되어 있지 않더군요. (또한 작동이 되지 않는 것 같습니다.)
어찌해야 프로그램내부에서 플래시로의 함수 호출이 가능한지 궁금합니다.
고수님들의 한 수 가르침을 기다리겠습니다.
해답은 의외로 간단한데 있더군요
굳이 델파이에서 플래시를 직접제어를 하려고 하기보다는 소켓을 이용해서 제어를 하면됩니다.
즉, 플래시의 XMLRPCSock 를 쓴 클라이언트가 되고 델파이는 WinSock(TServerSock)을 가진 서버가 되는것이죠.
XMLRPCSock 이넘이 좀 느린편이긴 아주 대량의 데이터나 빠른 응답을 요하는 부분이 아니면
큰 무리는 없더군요
플래시 XMLRPCSock (Client) <-------> Delphi Sock (Server)
어떤건지 이해가 되시죠? 플래시를 임포팅되는 어플이 아니라 하나의 독립된 어플로 생각을 하면 됩니다.
이렇게 하면 굳이 델파이 폼안에 플래시를 넣지 않아도 되구요
플래시만 구동시키고 (플래시를 독립어플로 만들어주는 프로그램이 있습니다 상용이긴 하지만요) 엑티브엑스는 뒤에 숨어서 플래시의 모든 작업을 조작할수 있습니다.