Отправлено: 05.10.05 10:52. Заголовок: Как програмно определить ОСХ используемые в проекте VBA
Добрый день. Как програмно определить ОСХ используемые в проекте VBA для проверки на наличие регистрации OCX? Так в VBA для Access подходит код: Dim ref As Reference и далее итерация по всем ref например: For Each ref In Preferences
If ref.Name = "MSComctlLib" Then If fFileExist(ref.FullPath) Then fRefValid = True Exit Function End If End If
Next ref и т. д. Если вы в AIP то такого объекта Reference нет. Как добраться до всех ref библиотек в проекте AIP??
Отправлено: 05.10.05 17:15. Заголовок: А вот это не подойдет?
Витек
Не уверен, что это то что надо. Но судя по описанию может это оно.
Из хелпа ApprenticeServerDocument.AllReferencedFiles Property Read-only property that returns the ApprenticeServerDocuments collection that contains the Autodesk Inventor documents directly referenced by this document and any references within recursively nested files. In other words, this returns a list of all files that are used within an assembly, regardless of where in the assembly they are used. Syntax AllReferencedFiles() As ApprenticeServerDocuments
Нет, это не то.Так я получу коллекцию всех файлов , используемых в документе Inventorа ( сборки iam). Документ Inventorа и проект VBA с коллекцией всех библиотек,объектов ActiveX, dll (mscomctl.lib,MF20.dll и т.д.) это разное. Мне нужно знать какие библиотеки, объекты -References ApplicationProject проекта VBA были задействованы программой.
Задача мне понятна. Видимо, действительно, поспешил. Если надо узнать не в прцессе запуска программы, а просто узнать, то можно попробовать сделать этот проект в VB6 и запустить Package and Deployment Wizrd. Выбрать создание CAB-файла. В результате работы этого мастера создается файл *.DEP. А в нем информация очень похожая на требуемую. Только что попробовал. Я этим мастером на практике не пользовался, так как он сильно увеличивает дистрибутив. Просто предлагаю варианты на уровне идеи. А Вы решайте сами, подходит или нет. А как практически выглядит Ваша проблема. Мне тоже интересен этот вопрос.
Подумал. Если я правильно понял проблему, то скажу как я ее решаю. 1 Сначала надо выяснить какие файлы нужны для работы программы и которых может не быть на компьютере пользователя. 2 Эти файлы я помещаю в папку с программй. 3 При запуске программа проверяет наличие эитих файлов в Sysrem32 функцией Dir. Причем проверка идет по всем параметрам обязательно (скрытй, системный и т.д.) 4 Если файл присутствует, то проверяю следующий файл. 5 При отсутствии файла программа копирует его в System32 и регистрирует.
Вы совершенно правильно поняли мою проблемму. Именно в переносе программы на другие компы я и получаю данную проблемму.Воспользуюсь вашим вариантом для решения проблеммы.Есть правдо еще загвоздка с директориями. Так например я встретил проблемму с версиями dll, версия в c:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll в w2000 отличалась от версии в XP и моя прога не запускалась ( при работе с базой данных Access).Меняю на свою dll и все пашет. Но есть опастность , что после этого что то установленное у пользователя не за работает.Это вмешательство извне при установки моей проги заказчику совсем не нравиться.И понятно - есть риск. В остальном я воспользуюсь вашей подсказкой. Огромное спасибо!!
Хорошо иметь Заказчика :) Можно сделать программу под его конфигурацию компьютера. А где можно посмотреть описание(я) Ваших программ для конструкторов?
- это я погорячился, хотел написать пользователя да жаба заела. . А написал я только одну СП для Inventor'а ,где то на форуме она прплывала. Я не програмист, написано коряво, но меня устраивает, и в нашем конструкторском коллективе пользуемся. Главное быстро все можено подстроить, дописать исправить под новые задачи и цели. А насчет совместимости ( переноса) проги на другие компы - есть левые подработки в других конторах где моя прога и стоит.Ручками ее установить ( зарегестрировать то что у пользователя нет) я уже наловчился.Но как то не солидно, и все же хочется как ПРАВИЛЬНО.Это чисто личное.Пока не решу не могу успокоиться.Вроде самому не надо, но скребет где то. Так спасаю спецификацию в формате Excel (для интереса, так она формируется на отдельных листах в idw) - все нормально , дак для стандартных деталей - если они не влазят в строку нужно половину наименования переносить автоматом на следующую снизу- НЕ зНАЮ КАК СДЕЛАТЬ.Wrap можно сделать , но видуха не по ГОСТу. И так постоянно. Много смежных не конструкторчких камней. Спасибо за помощь.
Да я и сам из любитетелей. Делаю все методом "научного тыка". И все твои проблемы мне понятны.
Витек пишет:
цитата А написал я только одну СП для Inventor'а ,где то на форуме она прплывала.
Это которая 5 МБ? Многовато мне для закачки. А то взглянул бы. Если есть описание, пришли на vostok27@yandex.ru Взглянуть на аналог моей программки мне интересно.
Витек пишет:
цитатаГлавное быстро все можено подстроить
Большое дело! :)
Со стандартными и материалами я придумал что делать. У меня это реализовано в моей СП для инвентора же (программка Taip). На этом форуме есть ссылка.
Все даты в формате GMT
3 час. Хитов сегодня: 2
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация вкл, правка нет