ShockWaveFlash: IShockWaveFlash;
ShockWaveFlash: IShockWaveFlash;
Свойство ShockWaveFlash использует свойства и методы интерфейса IShockWaveFlash для работы с Flash-объектом.
Для выполнения примера предполагается наличие регламентного отчета c идентификатором «REGULAR_REPORT», на активном листе которого расположен только Flash-объект. Подключите системные сборки: Fore, Forms, Io (ForeIO для примера Fore.NET), Metabase, Report, Tab.
Sub UserProc;
Var
MB: IMetabase;
MObj: IMetabaseObject;
CrInfo: IMetabaseObjectCreateInfo;
Doc: IDocument;
MemStr: IMemoryStream;
Sheet: IPrxTable;
Fl: IPrxFlash;
Report: IPrxReport;
Begin
MB := MetabaseClass.Active;
CrInfo := MB.CreateCreateInfo;
CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_DOCUMENT;
CrInfo.Id := "Flash_Document";
CrInfo.Name := "Flash_Document";
CrInfo.Parent := MB.Root;
CrInfo.Permanent := True;
MObj := MB.CreateObject(CrInfo).Edit;
Doc := MObj As IDocument;
Report := MB.ItemById("REGULAR_REPORT").Bind As IPrxReport;
Sheet := Report.ActiveSheet As IPrxTable;
Fl := Sheet.TabSheet.Objects.Item(0).Extension As IPrxFlash;
MemStr := New MemoryStream.Create;
Fl.ShockWaveFlash.SaveToStream(MemStr);
Doc.LoadFromStream(MemStr);
MObj.Save;
Dispose MemStr;
End Sub UserProc;
После выполнения примера Flash-объект, расположенный на активном листе регламентного отчета, будет сохранен в объект репозитория «Документ» с идентификатором «Flash_Document».
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Fore;
Imports Prognoz.Platform.Interop.ForeIO;
Imports Prognoz.Platform.Interop.Forms;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MObj: IMetabaseObject;
CrInfo: IMetabaseObjectCreateInfo;
Doc: IDocumentEx;
MemStr: System.IO.MemoryStream;
Sheet: IPrxTable;
Fl: IPrxFlash;
Report: IPrxReport;
Begin
MB := Params.Metabase;
CrInfo := MB.CreateCreateInfo();
CrInfo.ClassId := MetabaseObjectClass.KE_CLASS_DOCUMENT As Int32;
CrInfo.Id := "Flash_Document";
CrInfo.Name := "Flash_Document";
CrInfo.Parent := MB.Root;
CrInfo.Permanent := True;
MObj := MB.CreateObject(CrInfo).Edit();
Doc := MObj As IDocumentEx;
Report := MB.ItemById["REGULAR_REPORT"].Edit() As IPrxReport;
Sheet := Report.ActiveSheet As IPrxTable;
Fl := Sheet.TabSheet.Objects.Item[0].Extension As IPrxFlash;
MemStr := New System.IO.MemoryStream();
Fl.ShockWaveFlash.SaveToStream(MemStr);
Doc.LoadFromStdStream(MemStr);
MObj.Save();
MemStr := Null;
End Sub;
См. также: