Delphirus - прграммирование на delphi
   Все о delphi Delphirus - прграммирование на delphi
blocks.gif
Навигация
 

Главная
Статьи
Базы данных
Графика
Защита
Интернет
Система
Тексты
Мультимедиа
Файлы
Формы и окна
Другое
Советы
Базы данных
Графика
Интернет
Мультимедиа
Система
Тексты
Файлы
Файлы
Исходники
Компоненты
Инфо
Поиск по сайту
Обратная связь
Самое популярное
Аккаунт
Карта сайта

 
 
 

Советы по delphi \ Файловая система \ Файлы \ Проиграть Flash файл в приложении

Проиграть Flash файл в приложении

To make use of SWF files in your Delphi application you should have the swf plugin installed then follow these steps:

{English}

In the Delphi IDE

- click on "Component", "Import ActiveX Control"
- chose "Shockwave Flash" and click on "install".

Now you have a TShockwaveFlash component in your IDE on the ActiveX tabsheet. Place the TShockwaveFlash Component onto your form, resize it as needed but for now do not assign a movie to it.

You will need to register the ocx file if it is not installed on the target computer. So you should have a resource file with

- the swflash.ocx and your Flash ( *.swf) file.
- Copy swflash.ocx (from i.e. windowssystem32macromedflash) and your custom swf file to your project path.
- Create a textfile with a code like this:

SHOCKWAVEFILE RCDATA yourfile.swf
SHOCKWAVEOCX RCDATA swflash.ocx

(Where yourfile.swf is your swf-file)

- Save this file as flash.rc
- Goto Commandline, change to your project dir and enter the line:

"Brcc32 -r flash.rc"

- Now you have your new resource as flash.res file

uses 
  ShockwaveFlashObjects_TLB; // will be used automatically 

implementation 

{$R *.DFM} 
{$R flash.res} // your new created resource 
{...} 

procedure TForm1.FormCreate(Sender: TObject); 
var 
  SystemDir: array[0..MAX_PATH] of Char; 
  SWFDir, AppDir: string; 
  Fres: TResourceStream; 
  Ffile: TFileStream; 
begin 
  GetSystemDirectory(@SystemDir, MAX_PATH); 
  SWFDir := SystemDir + 'macromedflash'; 
  GetDir(0, AppDir); // Get current directory 

  //check whether the sw-flash ocx is already installed 
  if FileExists(SWFDir + 'swflash.ocx') = False then 
  begin 
    //create directories if needed and extract file from resource. 
    {$i-} //compiler directive to suppress i/o error messages 
    MkDir(SystemDir + 'macromed'); 
    MKDir(SystemDir + 'macromedflash'); 
    {$i+} 
    Fres := TResourceStream.Create(0, 'SHOCKWAVEOCX', RT_RCDATA); 
    Ffile := TFileStream.Create(SWFDir + 'swflash.ocx', fmCreate); 
    Ffile.CopyFrom(Fres, Fres.Size); 
    Fres.Free; 
    Ffile.Free; 

    //register ocx (simple but useful) 
    WinExec(PChar('regsvr32 /s ' + SWFDir + 'swflash.ocx'), SW_HIDE); 
  end; 
  // extract ShockwaveFile from resource to application directory 
  Fres := TResourceStream.Create(0, 'SHOCKWAVEFILE', RT_RCDATA); 
  Ffile := TFileStream.Create('flashmovie.swf', fmCreate); 
  Ffile.CopyFrom(Fres, Fres.Size); 
  Fres.Free; 
  Ffile.Free; 

  //Assign the extracted swf file to your TShockwaveFlash object 
  FlashMovie.Movie := AppDir + 'flashmovie.swf'; 
end; 

(* 
  If you dont want to have the popup menu displayed on right click 
  you may chose menu property of TShockWave to false. 
*)

Название: Проиграть Flash файл в приложении
Дата публикации: 2004-06-15 (2652 Прочтено)

 
 

 

Page generation 0.052 seconds