Последние записи
- Рандомное слайдшоу
- Событие для произвольной области внутри TImage
- Удаление папки с файлами
- Распечатка файла
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
27th
Дек
SilverLight 4.0 + COM API. Breaking the habit…
Posted by Chas under си шарп, Статьи
Как известно, из SilverLight-приложения достучаться до файловой системы непросто, что вполне логично с точки зрения безопасности. Нет, ну добраться до файла в каталоге «Мои документы» — нет проблем, в ином месте — приходится изобретать велосипед. В этой статье я опишу устройство подобного велосипеда.
автор: dab00
На днях писал одно SilverLight-приложение, в котором было необходимо при создании в базе данных новой записи создавать на файл-сервере каталог с соответствующим названием, добавлять/удалять файлы в/из каталог(а) и пасти информацию обо всех файлах, находящихся в целевом каталоге. Скажем, что-то отдаленно напоминающее систему управления версиями.
И вот когда, наконец, убив несколько дней на разработку я приступил к реализации функционала работы с файловой системой… сначала мне показалось, что я выбрал не ту технологию. Даже всерьез рассматривал вариант переноса пользовательских каталогов «Мои документы» на сервер — куда деваться — неужели столько времени потрачено впустую…
А ларчик просто открывался — на помощь пришла старая добрая технология COM.
Достаточно было импортировать в проект пространство имен System.Runtime.InteropServices.Auto mation, дальше — песня.
Хочешь — FileSystemObject:
Dim fso As Object = AutomationFactory.CreateObject(«Scr ipting.FileSystemObject»)
Хочешь — Shell.Application:
Dim sh As Object = AutomationFactory.CreateObject(«She ll.Application»)
Хочешь WshShell:
Dim wshShell As Object = AutomationFactory.CreateObject(«WSc ript.Shell»)
Со всеми вытекающими свойствами и методами. Просто праздник какой-то .
На всякий случай можно проверить, как там дышит AutomationFactory:
If AutomationFactory.IsAvailable Then
И дело в шляпе. Easy peasy lemon squeezy . Хорошо что приложение было внебраузерным — если бы такие фокусы прокатили в браузере, разработчиков мелкомягких можно было бы смело расстрелять раз несколько. В общем, как добрался я до COM API, отпустило меня . Такая вот история.
P.S. В Silverlight 5 можно обойтись и без «велосипеда». Правда в настоящий момент (11.11.11) доступна только RC-версия.
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)