Имя: Пароль:
1C
1С v8
Добавление ActiveX RDP программно
,
0 Maxus43
 
16.05.13
15:39
Приветствую!

Никак не пойму почему такая байда...
Добавляю на форму НЕ программно activeX MS RDP.
Всё хорошо, подключается и т.д.

Далле добавляю программно его:
ЭлементыФормы.ДобавитьActiveX("MsRDP.MsRDP", "RDP");

И вот тут, успользуя точно такой же код по подключению, не конектит, просто ничего не происходит.
Не могу отловить разницу между добавлением руками на форму, и добавлением программно элемента управления... Кто встречал?
1 drcrasher
 
16.05.13
15:42
а ЭлементыФормы.RDP есть?
2 Maxus43
 
16.05.13
15:45
(1) есть конечно, сервер, юзер-пароль всё туда вбил.
Если заменить этот программный элемент управления на обычно добавленный мышкой - всё работает


апосля connect()
ЭлементыФормы["RDP"].connected() = 0 пишет
3 Maxus43
 
16.05.13
15:47
на экране я вижу актив икс добавлены конечно, подключения не происходит просто
4 drcrasher
 
16.05.13
15:48
вот не могу прямо сразу сказать, но смотри в свойствах что-нить типа .visible, .content, etc...
5 Maxus43
 
16.05.13
15:54
да обсмотрелся уже вроде, сравнивал свойства между рабочим вариантом и этим, разницы нет практически
6 drcrasher
 
16.05.13
16:00
ну мне заняться пока нечем, так что можешь скинуть на мой ник на мейле активХ + обработку с программным созданием. гляну =)
7 drcrasher
 
16.05.13
16:02
ток заверни всё в архив без расширения, а то почтовик может заблокировать файл
8 Maxus43
 
16.05.13
16:05
(6) да там кода то нет практически...
Создание:

           ЭлементыФормы.ДобавитьActiveX("MsRDP.MsRDP", "RDP"); //актив икс встроен в винду, дополнительно не надо ничего
           ЭлементыФормы["RDP" + й].Ширина = 510;
           ЭлементыФормы["RDP" + й].Высота = 365;
           ЭлементыФормы["RDP" + й].Лево = 50;
           ЭлементыФормы["RDP" + й].Верх = 30;

ну и подключение:

   ЭлементыФормы["RDP"].Server = "имясервераИлиИпАдрес";    
//если надо порт то тоже прописать в AdvancedSettings
   ЭлементыФормы["RDP"].Domain = "домен";
   ЭлементыФормы["RDP"].UserName = "юзер";
   ЭлементыФормы["RDP"].AdvancedSettings.ClearTextPassword = "пароль";
   ЭлементыФормы["RDP"].Connect();
9 Maxus43
 
16.05.13
16:06
["RDP" + й] - на просто ["RDP"] заменить...

Ну и если вручную добавить актив икс то подключится с этим же кодом для подключения
10 Maxus43
 
16.05.13
16:25
так... что-то понял
в реестре на порг ИД "MsRDP.MsRDP" прописаны
Microsoft RDP Client Control (redistributable)

а мне надо просто
Microsoft RDP Client Control

осталось узнать ProgID у нормального актив икса...
11 Maxus43
 
16.05.13
16:26
жесть... у них "MsTscAx.MsTscAx", вот догадайся попробуй...)
12 Maxus43
 
16.05.13
16:27
Всё, заработало. Всем спасибо!
Независимо от того, куда вы едете — это в гору и против ветра!