Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Выбор  [new]
1ndig0
Guest
Делаю класс на основе ActiveX Tree View, выбираю OleControl, далее предлагается диалог с выбором нужного мне ActiveX, но в списке этого Tree View нет, да и вообще список мал слишком ((( Куда делись другие зарегистрированные компоненты? B rаким же образом мне сделать это наследование?
21 апр 06, 21:10    [2591518]     Ответить | Цитировать Сообщить модератору
 Re: Выбор  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Когда открылось окно для выбора ActiveX компонент в переключателе Choose выбери пункт "Insert Control". Секунды через 2...3 появится полный список зарегистрированных в реестре ActiveX компонент.
21 апр 06, 21:19    [2591533]     Ответить | Цитировать Сообщить модератору
 Re: Выбор  [new]
1ndig0
Guest
Сорри, что так тему назвал ))) Нечайно на кнопку нажал "опубликовать" ?)

А по поводу вопроса.
Делаю так.
Выбираю new class
class name: aTreeView
based on: OleControl
Далее появляется вставка объекта. И не где ни
создать новый
создать из файла
элемент управления
нету этого TreeView, а добавление элемента не пашет почему-то.
21 апр 06, 21:27    [2591544]     Ответить | Цитировать Сообщить модератору
 Re: Выбор  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Все правильно. После того, как укажешь имя класса, Based on и нажмешь кнопку Ok как раз и появится дополнительное окно с предложением выбрать нужный ActiveX компонент.

Вот в этом окне и выбираешь 3 пункт "Элемент управления" (Insert Control) и в списке ищешь

Microsoft TreeView Control 6.0 (SP4)

Это оно и есть

Физически, это должен быть файл

C:\Windows\System32\mscomctl.ocx

Если в списке доступных ActiveX компонент нет TreeView, то убедись, что у тебя физически есть файл MSCOMCTL.OCX (его может и не быть).

Если такого файла нет, то поищи в Internet (есть куча ссылок в свободном доступе. Сам Microsoft - не дает)

Скопируй в этот каталог и зарегистрируй через Regsvr32.exe

Список доступных ActiveX компонент можно посмотреть через пункт меню Tools\Options\закладка Controls

PS: не в курсе, можно ли заблокировать ветки реестра так, чтобы были недоступны даже на просмотр отдельные ветви. Это может стать причиной "не видимости" объектов. Ведь информация о них берется из реестра Windows.
21 апр 06, 21:52    [2591592]     Ответить | Цитировать Сообщить модератору
 Re: Выбор  [new]
1ndig0
Guest
В том-то и дело все есть и MSCOMCTL.OCX в папочке system32 и в реестре он зарегистрирован, и список доступных ActiveX компонент через пункт меню Tools\Options\закладка Controls тоже есть. Даже в Form Controls присутствует, его сам туда кинул в Раздел ActiveX Controls.
А в элементах управления нет, хоть тресни. Урезку какую-то дает и все. Там даже есть VirtualList с которым я экспериментировал под C++.

Что-так может влиять не пойму.
21 апр 06, 22:08    [2591634]     Ответить | Цитировать Сообщить модератору
 Re: Выбор  [new]
1ndig0
Guest
Взял и проверил на другом компе, там у меня WinXP Pro. И все запахало, т.е. класс добавился. А на ноуте WinXP Home и не пашет, обрезает гад. В чем прабла не пойму. А работаю в основном на ноуте.
21 апр 06, 22:54    [2591761]     Ответить | Цитировать Сообщить модератору
 Re: Выбор  [new]
Igor Korolyov
Member

Откуда: Гомель, Беларусь
Сообщений: 2512

Hi Владимир!

> PS: не в курсе, можно ли заблокировать ветки реестра так, чтобы были
> недоступны даже на просмотр отдельные ветви

Можно - под NT ветви реестра имеют примерно такие-же атрибуты доступа как и
файлы/папки в NTFS. Так что вполне можно ограничить доступ так чтобы
определённый пользователь чего-то не видел, или не мог записать...

P.S. Убил давеча 3 дня на борьбу с WebService (с установкой на так сказать
"клиентский сервер") - голая WinXP SP2+IIS - ставлю SoapToolkit 3.0
(полностью), ставлю фоксовый рантайм (сделан в Wise на основе штатного
модуля VFP8Runtime.msm+VC70+GDIPlus - ну в общем всё как положено) - ставлю
свою программу (и dll с сервером конечно регистрирую) - она конечно работает
(вызываю свой COM сервер из этой тестовой программы - всё создаётся и
работает). Создаю в IIS VF - VirtualFolder (средствами SOAP Toolkit - чтоб
он прописал ISAPI листенер и т.п.), копирую WSDL/WSML файлы куда надо, меняю
как надо (имя сервера) - тестирую WS - фиг вам - ошибка про отсутствующий
класс, потом про невозможность создать Dispatcher Object... Лезу в настройки
безопасности VF, отключаю анонимный доступ - включаю интегрированную Win
авторизацию - всё работает!!! Права на ВЕСЬ диск дал полные Everyone-у...
Если поставить полностью фокс - начинает работать под анонимным аккаунтом
(IUSR_...) сносим фокс (но рантайм конечно остаётся) - перестаёт работать!!!
Короче таки нашли в чём дело - оказалось что при установке рантайма ключи
реестра описывающие этот самый рантайм (HKCR\VisualFoxProRuntimeMT.8 и т.п.)
имеют СВОИ ACL (причём наследование прав от корневого HKCR отключено), и в
них не хватает каких-то прав!!! Если не ставить рантайм инсталлятором, а
руками скопировать файлы куда надо и руками же зарегистрировать, то всё
работает как и положено - ибо никаких извратов с ACL в реестре не происходит
:(

Posted via ActualForum NNTP Server 1.3

22 апр 06, 22:54    [2593234]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить