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
Linki do 4p do downloadu trzeba poprawić.
--------->Może być<---------
Troche nieczytelnie napisane. Miedzy kodami zrodlowymi rob linie przerwy.