Quick links:
F-IN-BOX Delphi Edition Help >> How to Embedding swflash.ocx/flash.ocx code into application
Traditionally, there are many obstacles or annoyances that one will encounter when using Macromedia / Adobe Flash Player ActiveX in a Delphi application. The Application...
TFlashPlayerControl to the rescue. It solves these problems and more! By default, the component will use the swflash.ocx/flash.ocx that's already installed on the system. The component can alternatively use any swflash.ocx/flash.ocx that you would like to provide it with using any supported source. An example of this how you can embed the flash.ocx into the resource section of your application's exe file and then load it at runtime. Using this method, your application will work even if Macromedia / Adobe Flash Player ActiveX doesn't exist on the target system. Just use LoadFlashOCXCodeFromStream method! With TFlashPlayerControl, hassling around with Macromedia / Adobe Flash Player ActiveX installation issues are a thing the past! It's so easy to do! There are even demos provided which come complete with source code to prove it! Here's an example of how to load swflash.ocx/flash.ocx code from a resource: [ Delphi ]
{$RESOURCE 'res\flash.res'} ... var FlashCodeStream: TResourceStream; initialization FlashCodeStream := TResourceStream.Create(0, 'FlashOCXCode', 'BIN'); FlashPlayerControl.LoadFlashOCXCodeFromStream(FlashCodeStream); FlashCodeStream.Free; [ Builder C++ ]
#pragma resource "res\\flash_ocx.res" ... WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { ... Application->Initialize(); TResourceStream* FlashCodeStream = new TResourceStream(0, "FlashOCXCode", "BIN"); Flashplayercontrol::LoadFlashOCXCodeFromStream(FlashCodeStream); delete FlashCodeStream; ... } Here's an example of how to load swflash.ocx/flash.ocx code from a file: [ Delphi ]
var FlashCodeStream: TFileStream; initialization FlashCodeStream := TFileStream.Create('flash.ocx', fmOpenRead or fmShareDenyNone); FlashPlayerControl.LoadFlashOCXCodeFromStream(FlashCodeStream); FlashCodeStream.Free; [ Builder C++ ]
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { ... Application->Initialize(); TFileStream* FlashCodeStream = new TFileStream("flash.ocx", fmOpenRead | fmShareDenyNone); Flashplayercontrol::LoadFlashOCXCodeFromStream(FlashCodeStream); delete FlashCodeStream; ... } Copyright © Softanics. All rights reserved F-IN-BOX is a registered trademark of Softanics|Delphi is a trademark of Borland Software Corporation|Macromedia and Shockwave Flash are trademarks of Adobe, Inc. |