Нет, там тоже не появилось ни чего.
Вид для печати
Нет, там тоже не появилось ни чего.
Значит где то ошиблись - сравнивайте с примером из документации
Может быть сделали DispId() с уже существующим номером.
а как узнать какие номера уже есть? У меня стоит DispId(1), как и в примере. Других свойств я пока не добавлял.
Значит должно появится.
Приложите ваш проект.
Вот исходник пробного проекта
Вложение 7401
У вас есть set, но нет get - в этом случае свойство не появится.
Понял) Спасибо!)
Доброго времени суток. Продолжаю потихоньку изучать особенности создания ActiveX. На днях решил все таки попробовать работать с WPF. Но есть проблема, проект не компилируется. От сюда вопрос, какие есть особенности создания ActiveX с использованием WPF интерфейса ?
Нужно сделать обычный ActiveX, а на него уже помещать WPF контрол в обработчике события Load
private void ControlLoad(object sender, EventArgs e)
{
var host = new ElementHost {Dock = DockStyle.Fill};
_controlWpf = new ObjectCallStatesSetWpfControl(); //Отдельно определенный WPF контрол
host.Child = _controlWpf;
this.Controls.Add(host);
}
Также можно использовать элемент ElementHost. Подробнее можно посмотреть здесь:
http://msdn.microsoft.com/ru-ru/vstu...934550.aspx#q6
хм, спасибо. Попробую )
Снова здравствуйте ) С использованием WPF вроде бы разобрался) и снова есть вопрос. Например у меня такая задачка, средствами WPF нарисовать компонент, и сделать так чтобы область вокруг него, была прозрачной. На сколько сложно это сделать ?
Работать с прозрачностью в WPF можно. Вам нужно прочитать документацию по WPF.
Ну то что прозрачность есть, я знаю, но во всех примерах рассматривается один и тот же метод, с заранее нарисованной формой...
Вроде бы нашел то что нужно ))
Если добавить в свойства класса формы WPF параметры:
Background="{x:Null}" WindowStyle="None" AllowsTransparency="True"
Тогда форма полностью прозрачная, при этом если на нее добавить например Эллипс то отображается только эллипс)
Попробуйте запустить в режим исполнения - скорее всего она будет непрозрачной. Интерпретатор мнемосхем написан не на .Net.
Мы уточнили у программистов - на WPF сейчас в MasterSCADA прозрачный контрол сделать нельзя.
Просто сделайте чтобы у контрола был фон мнемосхемы.
А как быть со слоями ? Т.е. если два рядом контрола поставить, то один закроет другого
Непонятен вопрос.
Как мы написали прозрачность с WPF в MasterSCADA сделать нельзя.
Есть возможность создания безоконного контрола (в документации описано), но WPF в нем использовать нельзя
Это в документации Создание ФБ на C# описано?
"Создание ActiveX на C#" - в самом конце
Спасибо. Буду пробовать дальше )
Добрый день,
у меня появилась пара вопросов во время создания ФБ:
1) описал входы/выходы ФБ в файле .xml , но почему MasterScada их не видит?
2) как удалить ненужный блок из органайзера ФБ (на скриншоте видно два ФБ с одинаковым именем)?
Где то ошиблись.
Проверьте еще раз правильность xml. Теги должны совпадать полностью, вплоть до регистра. Например у вас написан MAP вместо Map
Возможно сменился Guid. Можно вручную из реестра удалить, поиском по имени ФБ найти запись вида
HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921} - для x64
HKEY_CLASSES_ROOT\CLSID\{9BE31822-FDAD-461B-AD51-BE1D1C159921} - для x86
Само значение CLSID приведено для примера. Нужно его искать по имени класса внутри этого раздела. А удалять весь раздел.
Добрый день. В процессе создания ActiveX компонента в Visual Studio 2010 столкнулся со следующей проблемой: у вытащенного на мнемосхему компонента отсутствуют свойства. Ни общие свойства, ни объявленные в классе компонента не отображаются. При попытке перетащить компонент рамка перетаскивается, но сам компонент своего положения не меняет, так же не меняются размеры компонента на мнемосхеме (галочка "редактируемый в схеме" в органайзере ActiveX снята). Подскажите, пожалуйста, в чем может быть дело?
Без самого ActiveX ничего сказать нельзя.
Выложите ваш проект Visual Studio.
Во вложении проект тестового компонента.
Проблема решилась обновлением MasterSCADA до версии 3.5. Оказалось, была установлена 3.4.
Добрый день!
Возникли проблемы с переносом dll на другой компьютер. Создал актив икс, протестировал на машине с мастерскадой, но теперь надо перенести эту dll на комп. При этом студио ставить не хочется. При обычной регистрации dll выдает, что не может найти точку входа для dllregistersrver.
Подскажите, в чем может быть проблема? Всё сделано на vs2010 с фрэймворком4
В документации по написанию это описано - данную dll нужно зарегистрировать (обычно это делают через bat файл):
12. Чтобы перенести библиотеку на другой компьютер необходимо скомпилированный dll файл скопировать в папку с установленной MasterSCADA и в этой папке выполните команду netreg.exe имя_библиотеки.dll
Здравствуйте!
При компелировании программы пишет следующие предупреждения:
Вложение 8169
После добавления в мастерскада, кнопка не реагирует на нажатие, окно с сообщением не появляется. Подскажите пожалуйста, как решить эту проблему. Спасибо :)
Данные предупреждения можно проигнорировать.
Кнопка у вас не нажимается в режиме разработки или в режиме исполнения?
В режиме отладки, и в режиме пуска. Вот проект:) :
Вложение 8191
И хотел еще спросить: Можно ли к символам в мастерскада привязать элементы ActiveX? Я надеюсь создать свой динамический элемент: задвижку, что бы она перекрашивалась в разные цвета в зависимости от режима работы, и при нажатии чтобы вылезало окно с двумя кнопками "Открыть", "Закрыть". И возможность рисования в мастерскада ограничена, насколько я понял. например я хочу нарисовать задвижку, как уже существующую "задвижку мнемоническую", только в мастерскада нельзя рисовать треугольники? или я не просто не знаю как? подскажите пожалуйста. спасибо :) Короче говоря, надеюсь научиться создавать свои динамки с окнами управления и настройки режимов работы.
Пришлите также скомпилированную DLL библиотеку и проект MasterSCADA.
Вот то, что просили:
Вложение 8192
Вложение 8193
И вот еще вопрос :(. Создал пустой ФБ, но в палитру мастерскада блок не добавляется. обновляю палитру, только в категории "Другие" он не появляется. Вылезли те же предупреждения при компеляции в С#. Вот программа:
Вложение 8195
Круто, с кнопкой я разобрался. Там в свойствах копки не было пункта button_Click и я в ручную прописал в коде. Сейчас кликнул по кнопке и автоматом создалась процедура обработки события в коде. В мастерскада работает.
Не получилось, VisualFBBase не определяется:
Вложение 8196
Теперь все нормально: там нужно было написать StaticFBBase
Спасибо, что подсказали SCADAMaster =)
После того как отредактировал изображение функционального блока, оно изменилось в палитре ФБ, но при вставке его в дерево объектов, изображение остаётся прежним.
Да, после исправления рисунка в старых проектах остается старое изображение - это ошибка, она записана.
В новых проектах, рисунок будет уже новым.