Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2009, 21:25   #1
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию Работоспособность DLL

Доброго времени суток.На форуме часто поднимается вопрос об обработке строк.
Решил создать Библиотеку функций на эту тему.
У меня все работает,хочу проверить работоспособность на других компьютерах.Если все пойдет нормально,буду далее работать в этом направлении.
Инструкция во вложении.
С нетерпением жду результат
Вложения
Тип файла: rar test.rar (18.1 Кб, 25 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 14.11.2009, 12:49   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Два варианта результата Работает,или Ошибка
Не работает.

EducatedFool вне форума Ответить с цитированием
Старый 14.11.2009, 13:06   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Спасибо
Значит проблема в регистрации СОМ объекта
Буду работать в этом напрвлении
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 14.11.2009, 15:05   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Тоже хотелось бы часть функциональности своих макросов вынести в DLL.

Если не секрет, расскажите, какими средствами создавалась эта DLL.

В Вашей DLL видны только такие функции:



Все остальные - скрытые:




А у Вас видны все функции (без отображения скрытых)?


Цитата:
Значит проблема в регистрации СОМ объекта
Скорее всего.
Как по мне, в REG-файле явно маловато строк...

Последний раз редактировалось EducatedFool; 14.11.2009 в 15:08.
EducatedFool вне форума Ответить с цитированием
Старый 14.11.2009, 17:41   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Создаю в студии СОМ класс,компилирую как ClassLibrary
У меня все работает нормально
У сына взял Ноут,не могу никак зарегистрировать как комобъект
Таже ошибка
Есть там полезные функции.
Вложения
Тип файла: rar Class1.rar (3.2 Кб, 15 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 14.11.2009, 17:51   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Я сделал проще:
Создал в VB6 новый проект - ActiveX DLL
В этот проект добавил класс, а в него - функцию:

Код:
Public Function fu()
fu = 888
End Function
Скомпилировал - получил DLL.

Подключил эту DLL к файлу Excel через Tools - References,
написал в VBA такой код:
Код:
Sub test()
    Dim a As New MyClass
    MsgBox a.fu
End Sub
Увидел ожидаемый результат.
Никаких DLL я не регистрировал...
EducatedFool вне форума Ответить с цитированием
Старый 14.11.2009, 18:25   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Проверьте, пожалуйста, тогда и мой вариант:

1) Извлеките файлы из вложения
2) Откройте файл excel, через Tools - References установите ссылку на EducatedFool.dll (из вложения)
3) Нажмите кнопку Запуск на листе excel

Должно появиться что-то вроде этого:

Вложения
Тип файла: rar пример.rar (21.8 Кб, 16 просмотров)
EducatedFool вне форума Ответить с цитированием
Старый 14.11.2009, 19:03   #8
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Игорь, привет.
Ответил на Планете. Здесь просто дублирую, т.к. у меня возникла та же проблема, что и у Dooberа.
Запустил без танцев с бубном. Результат:
Ошибка 429, ActiveX componenet can't create object.

После того как зарегил компонент DLL так
Код:
Пуск-Выполнить
regsvr32.exe полный_путь_к_файлу_EducatedFool.dll
все заработало.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 14.11.2009, 19:24   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Спасибо, Дима.
Теперь понял, что нужно делать.

2 doober
PS: Вот только с Вашей DLL такой фокус не проходит:



Думаю, если указать точку входа (или поменять там чтото в настройках компиляции), всё будет работать, как и в случае с моей DLL.
EducatedFool вне форума Ответить с цитированием
Старый 14.11.2009, 19:34   #10
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Все понятно,все работает,на Vb Net я не могу такую создать,надо преобразовать,или на С++ писать.
Пока Гуглу юзаю.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при выхове функций Bass.dll из другой DLL SalasAndriy Общие вопросы Delphi 7 21.10.2009 23:36
Запуск Load.dll (бывшая Load.exe) в дереве проц-ов, Как запустить прогой на C# .dll-ку kapustin Общие вопросы .NET 10 23.09.2009 22:20
Проверка URL на работоспособность Beni PHP 2 13.08.2009 21:44
DLL Killbrum Общие вопросы Delphi 7 17.01.2009 14:10
.DLL ZhekON Общие вопросы Delphi 3 20.05.2007 21:02