CreatePublicator: IMobileApplicationPublicator;
CreatePublicator: Prognoz.Platform.Interop.Mobile.IMobileApplicationPublicator;
Метод CreatePublicator создает объект, выполняющий публикацию мобильного приложения.
Для выполнения публикации используйте метод IMobileApplicationPublicator.Execute.
Для выполнения примера в репозитории предполагается наличие мобильного приложения с идентификатором «MA_PUB». Добавьте ссылки на системные сборки: Metabase, Mobile, Xml.
Также в примере используется класс MobileAppCallback, описание которого приведено в примере Fore для IMobileApplicationPublishCallBack.OnStartPublish.
Sub UserProc;
Var
mb: IMetabase;
Mobile: IMobileApplication;
Publicator: IMobileApplicationPublicator;
callBack: MobileAppCallback;
res: MobilePublishResult;
XmlDoc: IXmlDomDocument3;
el: IXmlDomElement;
Begin
mb := MetabaseClass.Active;
// Получаем публикуемое мобильное приложение (МП)
Mobile := mb.ItemById("MA_PUB").Bind As IMobileApplication;
// Создаем публикатор МП
Publicator := Mobile.CreatePublicator;
// Задаем веб-сервер и виртуальный каталог для публикации МП
Publicator.WebApplication := "http://prognoz/PPMobile_App_v7";
// Если МП не опубликовано, то выполняем публикацию
If Not (Publicator.IsPublished = MobilePublishResult.Ok) Then
// Создаем обработчик событий, возникающих при публикации МП
callBack := New MobileAppCallback.Create;
// Выполняем публикацию МП
res := Publicator.Execute(callBack);
// Обрабатываем результаты публикации МП
If res = MobilePublishResult.Ok Then
Debug.WriteLine("Публикация выполнена успешно");
Else
Debug.WriteLine("В процессе публикации произошла ошибка");
End If;
// Сохраняем параметры публикации МП в XML-файл
XmlDoc := New DOMDocument60.Create;
el := XmlDoc.createElement("Root");
XmlDoc.appendChild(el);
Publicator.SaveToXml(el);
XmlDoc.save("C:\Publicator.xml");
End If;
End Sub UserProc;
Результат выполнения примера: произведена попытка публикации мобильного приложения, результат выведен в окно консоли, параметры публикации выгружены в файл «C:\Publicator.xml».
Для выполнения примера в репозитории предполагается наличие мобильного приложения с идентификатором «MA_PUB».
Также в примере используется класс MobileAppCallback, описание которого приведено в примере Fore для IMobileApplicationPublishCallBack.OnStartPublish.
Imports Prognoz.Platform.Interop.Mobile;
Imports Prognoz.Platform.Interop.MsXml2;
…
[STAThread]
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
Mobile: IMobileApplication;
Publicator: IMobileApplicationPublicator;
callBack: MobileAppCallback;
res: MobilePublishResult;
XmlDoc: IXmlDomDocument3;
el: IXmlDomElement;
Begin
mb := Params.Metabase;
// Получаем публикуемое мобильное приложение (МП)
Mobile := mb.ItemById["MA_PUB"].Bind() As IMobileApplication;
// Создаем публикатор МП
Publicator := Mobile.CreatePublicator();
// Задаем веб-сервер и виртуальный каталог для публикации МП
Publicator.WebApplication := "http://prognoz/PPMobile_App_v7";
// Если МП не опубликовано, то выполняем публикацию
If Not (Publicator.IsPublished = MobilePublishResult.mprOk) Then
// Создаем обработчик событий, возникающих при публикации МП
callBack := New MobileAppCallback.Create();
// Выполняем публикацию МП
res := Publicator.Execute(callBack);
// Обрабатываем результаты публикации МП
If res = MobilePublishResult.mprOk Then
System.Diagnostics.Debug.WriteLine("Публикация выполнена успешно");
Else
System.Diagnostics.Debug.WriteLine("В процессе публикации произошла ошибка");
End If;
// Сохраняем параметры публикации МП в XML-файл
XmlDoc := New DOMDocument60.Create();
el := XmlDoc.createElement("Root");
XmlDoc.appendChild(el);
Publicator.SaveToXml(el);
XmlDoc.save("C:\Publicator.xml");
End If;
End Sub;
Результат выполнения примера: произведена попытка публикации мобильного приложения, результат выведен в окно консоли, параметры публикации выгружены в файл «C:\Publicator.xml».
См. также: