1. Trang chủ
  2. » Công Nghệ Thông Tin

Quan hệ giữa C# va flash doc

6 201 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 188,5 KB

Nội dung

Updated Feb 04, 2010 by buidinhngoc.aiti BJConnect Nền tảng kỹ thuật giao tiếp giữa C#-Winform với flash tạm gọi là BJConnect Introduction Trong project này do không thể sử dụng ExternalInterface (yêu cầu cho bản flash 6.0). Nên chúng ta sử dụng một số kỹ thuật khác , low level hơn rất nhiều .Tuy nhiên đã có rất nhiều kỹ thuật mới được đưa vào nhằm đơn giản hóa việc kết nối giữa C# và flash 6 actionscript 2.0 . Hiện tại đã có các giải pháp sau : 1. Call trực tiếp hàm trong C# từ flash sử dụng fscommand 2. Thay đổi trực tiếp biến của flash từ c# 3. Gọi trực tiếp hàm flash từ C# Details Call trực tiếp hàm trong C# từ flash sử dụng fscommand Trong c# viết sắn hàm cần gọi ví dụ public void test(Dictionary<string, string> param) { MessageBox.Show("tham số a="+param["a"]); } Các hàm muốn gọi từ flash nhận đối số là một Dictionary param Các biến truyền từ flash sang sẽ được phân tích và chuyển vào trong Dictionary này cách lấy param["tên tham số"] Từ flash gọi hàm test trên fscommand("test", "a=1&b=2"); Hai tham số truyền vào fscommand là : Tham số thứ nhất tên hàm trong c# Tham số thứ 2 là chuỗi chứa danh sách tham số truyền lên và giá trị của chúng , có định dạng như các truyền biến trên URL theo phương thức GET (HTTP GET REQUEST) Thay đổi trực tiếp biến của flash từ c# Kỹ thuật này khá đơn giản . giả sử trong flash có chứa biến temp var temp = 0; trong c# dễ dàng thay đổi biến này bằng cách gọi phương thức SetVariable , ví dụ : this.flashObject.SetVariable("temp", "5"); Gọi trực tiếp hàm flash từ C# Kỹ thuật này nếu được cải tiến thêm , có thể gọi các method nằm trong bất kỳ object nào tuy nhiên trong giai đoạn hiện tại chỉ cho phép gọi hàm (hàm không nằm trong object nào). Giả trong flash có hàm changeBankRoll như sau : function changeBankRoll() { TheBase.Bankroll.Lock(false); TheBase.Bankroll.set(TheBase.Bankroll.get()+Number(temp)); TheBase.gl_Bankroll=TheBase.gl_Bankroll+Number(temp+"00"); trace(TheBase.gl_Bankroll); TheBase.Bankroll.Lock(true); } Trong C# gọi hàm viết sẵn FlashAction : this.CallFlashFunction("changeBankRoll"); nếu muốn truyền theo các tham số cho hàm của flash thì gọi như sau : this.CallFlashFunction("changeBankRoll(2,4)"); Đây là nền tảng rất tốt để phát triển ứng dụng kết nối C# với Flash Hỗ trợ gọi các hàm trong thời gian thực , so với kiến trúc MyWebserver có phần an toàn hơn .Tuy nhiên việc remote call từ các ứng dụng khác lại khó khăn hơn . Chúc em làm tốt . Trong quá trình bạn làm các dự án, với các ứng dụng nhỏ mà bạn cần quá nhiều file thư viện *.dll hỗ trợ thì việc vận chuyển (tính lưu động) không cao. Ví dụ 1 chương trình nghe nhạc chơi định dạng flash (*.swf), có tới 2 file Interop đi theo nó. Vì thế, với công cụ ILMerge do Microsoft đưa ra, hỗ trợ cho việc kết hợp các assemblies lại với nhau. ILMerge là gì? ILMerge là một tiện ích được cung cấp bởi Microsoft cho phép một bộ các assembly để được kết hợp thành một tập tin. Điều này có thể được sử dụng để hợp nhất một tập tin thực thi với sự hỗ trợ các thư viện (DLLs) liên kết động, để có thể cho phép bạn phân phối một chương trình có khả năng chạy thành một tập tin (kiểu như portable). Nó cũng có thể được sử dụng để đơn giản hóa các thư viện lớn có thể bao gồm nhiều thư viện liên kết động (DLLs) cần phải được tham khảo từ các dự án mà chúng ta sử dụng chúng. Dựa trên ILMerge từ tiện ích làm việc với cửa sổ dòng lệnh (command line) thì mình đã phát triển nó nên ứng dụng windows form dễ dàng cho việc sử dụng với các câu lệnh cơ bản thường dùng (rất là tiện nếu ứng dụng của chúng ta có quá nhiều các thư viện đi theo nó). Giao diện làm việc của chương trình Bạn lưu ý khi sử dụng chương trình, Primary assembly là assembly chính và các assembly khác được kết hợp vào nó. Vì thế chỉ có 1 primary assembly duy nhất. Không chỉ thế, bạn vẫn có thể sử dụng các câu lệnh nâng cao bởi các dòng lệnh (command line) mà Microsoft cung cấp sẵn cho bạn. Mời bạn download về dùng thử. http://www.mediafire.com/download.php?fl29jj25l3zmwml Cũng không quan trọng là assemblies được viết trên ngôn ngữ nào: C#, VB.NET, chỉ cần biết nó là sản phẩm của dot Net là OK. Bạn có thể xem qua và hiểu về công cụ ILMerge trên diễn đàn vi-vn.com để biết hơn về nó, tại địa chỉ: http://forum.vi-vn.com/forum/Topic1418-15- 1.aspx Bài viết cùng chủ đề Key Logger C# .NET - Possible Error Key Logger C# .NET - API Methods Key Logger C# .NET - The HookCallba Key Logger C# .NET - Intercepting K Key Logger C# .NET - Got Mail Key Logger C# .NET - Running the Ke . kết nối giữa C# và flash 6 actionscript 2.0 . Hiện tại đã có các giải pháp sau : 1. Call trực tiếp hàm trong C# từ flash sử dụng fscommand 2. Thay đổi trực tiếp biến của flash từ c# 3. Gọi. của flash từ c# Kỹ thuật này khá đơn giản . giả sử trong flash có chứa biến temp var temp = 0; trong c# dễ dàng thay đổi biến này bằng cách gọi phương thức SetVariable , ví dụ : this.flashObject.SetVariable("temp",. đề Key Logger C# .NET - Possible Error Key Logger C# .NET - API Methods Key Logger C# .NET - The HookCallba Key Logger C# .NET - Intercepting K Key Logger C# .NET - Got Mail Key Logger C# .NET -

Ngày đăng: 11/07/2014, 12:20

TỪ KHÓA LIÊN QUAN

w