Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   Flash и Delphi (http://www.flasher.ru/forum/showthread.php?t=92956)

Donor 10.03.2007 19:13

Flash и Delphi
 
Подскажите, пожалуйста! Как значение какой-то переменной (число) передать в Delphi. Пробую через fscommand, а передается не однозначное число, а многозначное и вообще непонятно откуда взятое. Может кто-нибудь, что-нибудь посоветует? За ранее благодарю.

etc 10.03.2007 19:29

А что за переменную ты передаешь? И как оно выглядит?

Donor 10.03.2007 22:27

Вообщем, у меня тест с оценкой. Эта оценка (2-5) присваивается той переменной. Так как я проигрываю Flash-ролик в Delphi, Delphi является непосредственной средой разработки. Мне необходимо передать значение переменой, т.е. результат тестирования, в дельфу, что бы во-первых подсчитать общее кол-во баллов, а во-вторых контролировать и естественно сохранять в базе. Все это легко сделать в Delphi и сложнее во Flash, поэтому мне проще работать с переменной уже в Delphi. Это судь задания, проблема в другом. Fscommand конечно хорошая команда, что касается каких-либо конкретных действий (развернуть, свернуть и т.д.), даже просто какой-либо Click переданный в дельфу, там уже можно написать любое действие, к примеру
Код:

procedure TMain.ShockwaveFlash1FSCommand(ASender: TObject; const command,
  args: WideString);
begin
if command  =  'Click' then
      begin
      Main.Hide;
    Vvod.Show ;
    end
end;

Соответственно во Флеш кнопка:
Код:

on (release) {
        fscommand("Click");
}

А вот переменная…, она постоянно меняется…, что с ней делать не знаю. Я думаю и очень надеюсь, что я Вас правильно поняла и Вы меня тоже.

etc 10.03.2007 22:40

Я Delphi не знаю, вообще говоря, но вторым параметром в fscommand идут аргументы к функции, которые можно получить в обработчике, в данном случае в args, как я понял.
И не увидел я тут никакой передачи переменной.

Donor 11.03.2007 07:43

А здесь и нет никакой передачи. Я и спрашиваю о чем, как это сделать. Т.е. мне нужно добавить эту переменную
Код:

on (release) {
fscommand("Click", <переменная>);
}

Я правильно поняла? Ну вообщем надо попробовать… В любом случае огромное спасибо.

miramax 11.03.2007 07:48

Посмотри в доке ExternalInterface, с дельфи не работал, точно не знаю как там реализовать.

etc 11.03.2007 13:35

Цитата:

Сообщение от Donor
Я правильно поняла?

Да. А ещё, действительно, почитай про ExternalInterface.

techno 11.03.2007 14:07

Этот ваш код работает? можно же передать соманду типа
Код:

on (release) {
fscommand("Click?"+param);
}

А потом обработать в делфи:
Код:

procedure TMain.ShockwaveFlash1FSCommand(ASender: TObject; const command,
  args: WideString);
begin
if (pos(command, 'Click?')=1) then
      begin
      peremennaya:=copy (command,7,10000);
      Main.Hide;
    Vvod.Show ;
    end
end;


etc 11.03.2007 14:08

techno, за такие советы руки отрывать нужно.
В fscommand можно передавать аргументы.

techno 11.03.2007 14:21

не надо мне руки отрывать, а то аватар сгрызу:victory:
А какая разница? флешу и делфи все равно, а так может еще и работать будет.


Часовой пояс GMT +4, время: 23:22.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.