Dane z Flasha-2-Delphi

MrSquell

Witam ponownie! Zastanawiałem się o czym ma być mój pierwszy, a właściwie drugi artykuł... Pomyślałem: "Skoro dział ma być o możliwościach Delphi i Flasha musi być możliwa komunikacja miedzy nimi (wymiana danych)" - i właśnie o tym będzie ten artykuł ;)

Warto wspomnieć o jednym... Nie będę pisał tu jak instalować AX'a (Active-X) Flasha
Ponieważ temat ten był już poruszany na forum i nie ma co się powtarzać... Za to podam
link do działu download, gdzie jest to ładnie i przystępnie opisane przez Adama Boducha:

, a najnowszą wersję OCX'a można ściągnąć ze strony Macromedii (po ściągnięciu CAB'a rozpakuj go - tam jest OCX ;) )

.
A tu są kursy flash'a (Ale najlepiej nauczyć się samemu metodą prób i błędów tak jak ja to robiłem ;) ):
http://www.4programmers.net/download.php?id=116
http://www.4programmers.net/download.php?id=82
Powracając do tematu... Jak przesłać dane z Flash'a do Delphi i odwrotnie?

Flash -> Delphi:
We flash'u jest funkcja - fscommand(command, parameters); - to ona będzie nam potrzebna
do przesyłania danych do delphi...
W Delphi w zakładce Events plug-inu flasha jest funkcja OnFSCommand.
Widzicie już o co mi chodzi? Jeśli nie to czytajcie dalej...
Powiedzmy, że mamy movie'ka flasha, a w nim pole tekstowe i prostego buttona,
chcemy, że aby po kliknięciu buttona pokazał się Message (w Delphi) z zawartością pola tekstowego jak to zrobić? Odpowiedź:
Jak już było powiedziane mamy pole tekstowe i buttona - polu tekstowemu nadajmy nazwę txt (we Flashu 5 - pole name; FlashMX - pole Var), a button'owi przypiszmy akcję:

on (release)
{
    fscommand("msg", txt);
}

Przypomnienie - fscommand(command, parameters);: command - nadałem nazwę msg ale można wpisać co się komu podoba ;), parameters - wartość, parametry, dane, które chcemy przekazać do Delphi.
To na razie wszystko we Flashu. Teraz w delphi.

Flash musi być skompilowany do swf'a, a w polu movie [zakładka Properties] musi być wpisana dokładna ścieżka do swf'a.

Teraz dodajemy akcję we flashu (zakładka Events plug-inu flasha - funkcja OnFSCommand):

if command = 'msg' then
begin
    if args <> '' then
        ShowMessage(args)
    else
        ShowMessage('Wpisz dane!');
end;

W wartości argumentu command wpisałem msg ale może to być dowolna wartość tylko należy pamiętać aby zgadzała się z tą Flash'owską.
W ten oto łatwy sposób możemy przekazać dane z Flasha do Delphi!

Przykład można ściągnąć z:
http://www.4programmers.net/download.php?id=680
Następny artykuł: Przekazywanie danych z Delphi do Flasha

3 komentarzy

Linki do 4p do downloadu trzeba poprawić.

--------->Może być<---------

Troche nieczytelnie napisane. Miedzy kodami zrodlowymi rob linie przerwy.