OnLoadExternalResource
Syntax
Delphi
type TFlashPlayerControlOnLoadExternalResource = procedure(
ASender: TObject;
const URL: WideString;
Stream: TStream) of object;
property OnLoadExternalResource: TFlashPlayerControlOnLoadExternalResource;
C++Builder
typedef void __fastcall (__closure *TFlashPlayerControlOnLoadExternalResource)(
System::TObject* ASender,
const System::WideString URL,
Classes::TStream* Stream);
Description
The OnLoadExternalResource event is triggered when a Flash movie loaded from a stream attempts to load an external resource (such as XML, JPEG, or MP3) using a relative path.
This event is raised only for movies loaded from a TStream. For other cases, use SetGlobalOnLoadExternalResourceHandler.
Note: Starting from version 3.1, the URL parameter type was changed to WideString (previously AnsiString/string).
Example
A Flash movie requests an image with the following ActionScript code:
loadMovie("images/external_image.jpg", "square");
You can provide the content of this image by handling the OnLoadExternalResource event.
Delphi Example
procedure TForm1.FlashPlayerControl1LoadExternalResource(
ASender: TObject;
const URL: WideString;
Stream: TStream
);
var
ResourceStream: TResourceStream;
begin
if URL = 'images/external_image.jpg' then
begin
ResourceStream := TResourceStream.Create(0, 'some_image', 'IMAGE');
ResourceStream.SaveToStream(Stream);
ResourceStream.Free;
end;
end;
C++Builder Example
void __fastcall TMainForm::FlashPlayerControl1LoadExternalResource(
TObject *ASender,
const WideString URL,
TStream *Stream
) {
if (URL == WideString("images/external_image.jpg")) {
TResourceStream* ResourceStream = new TResourceStream(0, "image1", "IMAGE");
ResourceStream->SaveToStream(Stream);
delete ResourceStream;
}
}