Notice
- Today
- Total
Recent Posts
Recent Comments
Link
Tags
- startActivity
- Ribbon
- node.js 설치
- c#
- Raspberry Pi
- Image icon 변환
- 다중 Filter
- ContextMenuStrip
- MariaDB
- WebViewClient
- mariaDB 설치
- 라즈베리 피이
- 라즈베리파이
- ImageList Icon 변환
- UltraToolbarsManager
- usb 인식 불가
- ScrollBarTrackPolicy
- <<<<<<<<
- OpenFileDialog
- 동영상 오류
- .mine
- ubuntu
- RaspberryPi
- mariaDB 외부접속
- mp4 재생
- onPageFinished
- Spread
- 자동 닫힘
- node.js
- OSHP
Archives
Realman's World
[C#] Flash와 연동하기 본문
솔루션을 개발하다 보면 flash와 C# 을 연동하게 될 경우가 종종 있다.
이번 프로젝트에서도 급 지령을 받고 부랴부랴 이래저래 검색을 하여 적용하였다.
하면서 이래저래 어려운 점이 많아 애를 먹었는데 다음에는 고생하지 말아야지~ㅎ
1. SWF 파일 C#에 나타내기
① 참조 파일에 AxShockwaveFlashObjects.dll 파일을 추가 시킨다. (첨부 파일 참조)
② 우선 도구 상자에 Shockwave Flash Object를 추가 시킨다.
③ Shockwave Flash Object를 선택하여 Form 추가 시킨다.
이때 종종 아래와 같은 경고창이 뜬다.
이럴 경우 솔루션 다시 빌드를 살포시 해주면 문제는 깔끔히 해결된다.
④ Shockwave Flash Object 객체 이름을 변경한 후 Movie 를 설정한다.
② C#
- SetVariable함수를 이용하여 Flash로 정보를 넘긴다.
이번 프로젝트에서도 급 지령을 받고 부랴부랴 이래저래 검색을 하여 적용하였다.
하면서 이래저래 어려운 점이 많아 애를 먹었는데 다음에는 고생하지 말아야지~ㅎ
1. SWF 파일 C#에 나타내기
① 참조 파일에 AxShockwaveFlashObjects.dll 파일을 추가 시킨다. (첨부 파일 참조)
② 우선 도구 상자에 Shockwave Flash Object를 추가 시킨다.
③ Shockwave Flash Object를 선택하여 Form 추가 시킨다.
이때 종종 아래와 같은 경고창이 뜬다.
이럴 경우 솔루션 다시 빌드를 살포시 해주면 문제는 깔끔히 해결된다.
④ Shockwave Flash Object 객체 이름을 변경한 후 Movie 를 설정한다.
flaTop.Movie = System.IO.Directory.GetCurrentDirectory() + "\\SWF\\TOP_01.swf";
2. Flash 에서 C#으로 정보 넘기기
① Flash
- C#으로 데이터를 넘기를 부분에 fscommand 함수를 사용한다.
fscommand(command, parameter);
② C#
- Flash에서 호출하는 fscommand의 이벤트 핸들러를 작성한다.
이때 파라미터에는 fscommand에서 넘긴 command와 parameter 변수가 넘어온다.
void flaTop_FSCommand(object sender, flaTop._IShockwaveFlashEvents_FSCommandEvent e)
{
switch(e.command)
{
case "exec":
MessageBox.show(e.args);
break;
case "exit" :
this.Close();
break;
}
}
3. C#에서 Flash로 정보 넘기기
① Flash
- 변경되는 변수를 지정한다. (예: txtUserID, txtLocalIP)
var txtUserID:String = "";
var txtLocalIP:String = "";
- 지정된 변수가 변경되었을 때 이를 인식하고 Flash에 반영하는 함수를 정의한다.
// 변수가 변경되면 실행되어질 callback 함수
watchCallback = function (id, oldval, newval):String {
//변경된 값은 newval 을 통해 받습니다.
if(id == "txtUserID"){
userID.text = newval;
}
else if(id == "txtLocalIP"){
localIP.text = newval;
}
return newval;
};
- 정의된 함수를 실행시킨다.
_root.watch("txtUserID", watchCallback);
_root.watch("txtLocalIP", watchCallback);
② C#
- SetVariable함수를 이용하여 Flash로 정보를 넘긴다.
flaTop.SetVariable("txtUserID", Hitops3Param.USER_ID);
flaTop.SetVariable("txtLocalIP", Hitops3Param.LOCAL_IP);
flaTop.SetVariable("txtLocalIP", Hitops3Param.LOCAL_IP);
Comments