Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 19 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 31.10.2005
Откуда: Odessa, UKRAINE
Нужно объявить библиотеку dll в системе, чтоб другие программы могли её использовать. Как это сделать, кто знает?

_________________
AMD Phenom II X4 955 Black Socket AM3; Gigabyte GA-MA785GT-UD3H; 2 x Kingston DDR3-1600 2048MB; Palit 8800GT 512 МБ; Samsung 2xHD502HJ=RAID0, 1000Gb



Партнер
 

Advanced member
Статус: Не в сети
Регистрация: 01.03.2003
Railnolds

другие кто? обычно достаточно перезаписать файл новой версией, только если это системное дело, гарантий нормальной работы не будет :)


 

Member
Статус: Не в сети
Регистрация: 31.10.2005
Откуда: Odessa, UKRAINE
Дело вот в чем. Есть программа. После её установки есть возможность с помошью специальной dll библиотеки в Экселе вводить дополнительные команды в строке формул. Естественно, эта библиотека не стандартная. Но у меня нет инсталлятора этой программы, есть только копия каталога, в который она была установлена на другой машине и соответственно эта библиотека (после установке она была в том же каталоге, что и сама программа). Нужно как-то сообщить Экселю, что есть такая библиотека. Как это делает инсталлятор я не знаю, может быть прописывает в реестр. Программа рабочая, несмотря на отсутствие инсталлятора.
Как решить такую задачу? Очень нужно.

_________________
AMD Phenom II X4 955 Black Socket AM3; Gigabyte GA-MA785GT-UD3H; 2 x Kingston DDR3-1600 2048MB; Palit 8800GT 512 МБ; Samsung 2xHD502HJ=RAID0, 1000Gb


 

Advanced member
Статус: Не в сети
Регистрация: 01.03.2003
Railnolds

какая программа? проще инсталлятор достать :)


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
Railnolds, залезь в реестр и скопируй настройки.
Наверняка там есть путь к dll.
Сама dll подключается программой. Т.е. сама программа ищет свои dll.
Обычно это путь:
- откуда запущена программа
- системный каталог Windows
Если программа хочет искать dll, то этот путь должен быть прописан. Это может быть или файл конфигурации или реестр. Для M$ принято шариться в реестре, они это проталкивают.


 

Member
Статус: Не в сети
Регистрация: 31.10.2005
Откуда: Odessa, UKRAINE
QNX писал(а):
какая программа? проще инсталлятор достать

Программа называется REFPROP - расчитывает свойства холодильного агента. Конечно проще инсталлятор достать, только он денег стоит.
serj писал(а):
залезь в реестр и скопируй настройки. Наверняка там есть путь к dll.

Программа идет без инсталлятора - в реестре нет ничего с ней связянного. И dll не для неё нужна, а для других программ (Эксель и Матлаб).
serj писал(а):
Обычно это путь: - откуда запущена программа

Вот меня и интересует как прописать этот путь в реестре, т.е. как это обычно делают инсталляторы при установке программ.

_________________
AMD Phenom II X4 955 Black Socket AM3; Gigabyte GA-MA785GT-UD3H; 2 x Kingston DDR3-1600 2048MB; Palit 8800GT 512 МБ; Samsung 2xHD502HJ=RAID0, 1000Gb


 

Member
Статус: Не в сети
Регистрация: 29.03.2005
Откуда: Samara
Railnolds
Команда регистрации dll в системе regsvr32.exe dll_file_name.


 

Member
Статус: Не в сети
Регистрация: 07.05.2004
Откуда: Rostov-on-Don
d4w писал(а):
regsvr32.exe dll_file_name

где то мне говорили что, таким путем можно полсистемы убить (!?), но я сам лично так делал, вроде работало.
ЗЫ: При помощи парамеров к regsvr32.exe, также можно убирать длл-ки из системы.

_________________
Первичность разума над материей? Существует ли материя без разума? И наоборот?


 

Member
Статус: Не в сети
Регистрация: 31.10.2005
Откуда: Odessa, UKRAINE
d4w писал(а):
Команда регистрации dll в системе regsvr32.exe dll_file_name.

Я попробую. Спасибо.
То merlex. Тебе тоже спсибо.

_________________
AMD Phenom II X4 955 Black Socket AM3; Gigabyte GA-MA785GT-UD3H; 2 x Kingston DDR3-1600 2048MB; Palit 8800GT 512 МБ; Samsung 2xHD502HJ=RAID0, 1000Gb


 

Member
Статус: Не в сети
Регистрация: 07.05.2004
Откуда: Rostov-on-Don
serj писал(а):
Сама dll подключается программой. Т.е. сама программа ищет свои dll.
Обычно это путь:
- откуда запущена программа
- системный каталог Windows
Если программа хочет искать dll, то этот путь должен быть прописан. Это может быть или файл конфигурации или реестр. Для M$ принято шариться в реестре, они это проталкивают.

ага, попробуй написать простенькую прогу на VB, и попробуй запустить где нить на Win 9x, млотого что msvbvm60.dll должен в папке с прогой или с виндой быть, так и MSSTDFMT.DLL регить regsvr32.exe надо.

_________________
Первичность разума над материей? Существует ли материя без разума? И наоборот?


 

Member
Статус: Не в сети
Регистрация: 31.10.2005
Откуда: Odessa, UKRAINE
Попробовал. Выдаётся такое сообщение: "refprop.dll была загружена, но найти точку входа для DllRegisterServer не удалось. Зарегистрировать этот файл не удалось." Может службу какую запустить нужно?

_________________
AMD Phenom II X4 955 Black Socket AM3; Gigabyte GA-MA785GT-UD3H; 2 x Kingston DDR3-1600 2048MB; Palit 8800GT 512 МБ; Samsung 2xHD502HJ=RAID0, 1000Gb


 

Member
Статус: Не в сети
Регистрация: 07.05.2004
Откуда: Rostov-on-Don
Railnolds попробуй с ключами /i или /n (последний, помоему как раз по этому случаю)

_________________
Первичность разума над материей? Существует ли материя без разума? И наоборот?


 

Advanced member
Статус: Не в сети
Регистрация: 26.05.2004
Откуда: Israel
Railnolds
Попробуй жёстко пути прописать к ним обоим - и к regsvr32 и к твоей dll-ке

_________________
Правильно сформулированный вопрос отпадает сам собой. Не спрашивай - учись думать.


 

Member
Статус: Не в сети
Регистрация: 07.05.2004
Откуда: Rostov-on-Don
Nova_il писал(а):
Попробуй жёстко пути прописать к ним обоим - и к regsvr32 и к твоей dll-ке

да видишь регистрация начинается, проблема либо с пресловутым DllRegisterServer, или с самой длл-кой, параметр /n, как раз на него влияет.

_________________
Первичность разума над материей? Существует ли материя без разума? И наоборот?


 

Member
Статус: Не в сети
Регистрация: 31.10.2005
Откуда: Odessa, UKRAINE
Пробовал с ключами /i /n - в итоге "refprop.dll была загружена, но найти точку входа для DllInstall не удалось. Зарегистрировать этот файл не удалось." Это что глюк такой или что? Я вообще в недоумении. Может её (dll) нужно куда нибудь скопировать, типа в папку Виндовс? Сейчас она в C:\Program files\Refprop

_________________
AMD Phenom II X4 955 Black Socket AM3; Gigabyte GA-MA785GT-UD3H; 2 x Kingston DDR3-1600 2048MB; Palit 8800GT 512 МБ; Samsung 2xHD502HJ=RAID0, 1000Gb


 

Advanced member
Статус: Не в сети
Регистрация: 09.06.2003
Откуда: USSR
Railnolds Погоди. Это простая .dll или ActiveX обьект? Если первое , то ты ничего не зарегиш, а чтобы работать с ней надо иметь описание функций.
Далее, ты уверен, что ее можно в Excel использовать то? :)


 

Member
Статус: Не в сети
Регистрация: 31.10.2005
Откуда: Odessa, UKRAINE
Ray Adams писал(а):
Погоди. Это простая .dll или ActiveX обьект?

Вот этого не могу сказать, т.к. не знаю. Обычный файл с расширением dll.
Ray Adams писал(а):
Далее, ты уверен, что ее можно в Excel использовать то?

Абсолютно. К программе прилагается файл Экселевский с примером, как можно получать свойства холодильного агента с использованием этой библиотеки. И в хелпе соответственно про это специальным разделом написано. Свойства можно получить, если ввести в строке формул определённую команду, как например при использовании стандартных функций Экселя, типа КОРЕНЬ.

_________________
AMD Phenom II X4 955 Black Socket AM3; Gigabyte GA-MA785GT-UD3H; 2 x Kingston DDR3-1600 2048MB; Palit 8800GT 512 МБ; Samsung 2xHD502HJ=RAID0, 1000Gb


 

Member
Статус: Не в сети
Регистрация: 07.05.2004
Откуда: Rostov-on-Don
Railnolds писал(а):
типа в папку Виндовс?

ну лучше конечно туда скопировать, чтоб поводов для недоверия было поменьше.
Ray Adams писал(а):
ее можно в Excel использовать то?

если для экселя, то логично предмоложить что это и есть ActiveX - объект, вот может в этом и лажа.
Если я хоть что то понимаю в программировании, то для в станндартой длл-ке точка входа для DllRegisterServer или для DllInstall, обязательно делают, а если ActiveX то там ваяют как бог на душу положит, и возможно это не длл-ка вовсе, а так написали туда фукций и процедур, компильнули, и обозвали DLL, а инсталятор как нить по своему регит ее.
Кроме того
Railnolds писал(а):
Конечно проще инсталлятор достать, только он денег стоит.

это может быть механизм защиты, именно при таких случаях.

_________________
Первичность разума над материей? Существует ли материя без разума? И наоборот?


 

Member
Статус: Не в сети
Регистрация: 31.10.2005
Откуда: Odessa, UKRAINE
merlex писал(а):
если для экселя, то логично предмоложить что это и есть ActiveX

Вообще-то эта длл используется не только для связи с Экселем, ещё с МатЛаб (что мне собственно и нужно).
merlex писал(а):
возможно это не длл-ка вовсе, а так написали туда фукций и процедур, компильнули, и обозвали DLL

Ну а если это просто библиотека функций - наверное никак вручную и нельзя использовать её? Жаль.

_________________
AMD Phenom II X4 955 Black Socket AM3; Gigabyte GA-MA785GT-UD3H; 2 x Kingston DDR3-1600 2048MB; Palit 8800GT 512 МБ; Samsung 2xHD502HJ=RAID0, 1000Gb


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 19 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: LeX_6000 и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan