Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
ysbp
0 / 0 / 0
Регистрация: 05.07.2011
Сообщений: 13
#1

Как перенести приложение вместе с классом на другую машину? - C++

02.05.2006, 14:57. Просмотров 1736. Ответов 6
Метки нет (Все метки)

Могут ли быть проблемы с регистрацией связаны с операционной системой? На XP получается хорошо, а в 2000-ном не идет. Объект COM сделан в XP.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2006, 14:57     Как перенести приложение вместе с классом на другую машину?
Посмотрите здесь:

как заставить С++ и С# работать вместе? C++
Как заставить машину ждать перед очередным выполнением цикла? C++
C++ Как сделать шаблон, с параметром-классом - потомком определённого класса?
Шаблон set и структура - как вместе? C++
C++ Как заставить объекты масштабироваться вместе с окном?
C++ Как считать файл до конца вместе '\n' ?
Работа с классом (как вызвать или обратится к классу из основной программы?) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
suffix
Сообщений: n/a
12.05.2006, 23:44     Как перенести приложение вместе с классом на другую машину? #2
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt <FONT face="Times New Roman" color=#000000 size=3>Извиняюсь за задержку, чего то меня до сего дня сервер откидывал…</P><FONT color=#000000><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: RU; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA Причину назвать не могу. Может стоит попробовать разные сочетания версий </SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA regsvr</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: RU; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA 32<SPAN style="mso-spacerun: yes </SPAN>и– и из</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA W</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: RU; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA 2</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA K</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: RU; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA , и из </SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA XP</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: RU; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA , т.е. взять </SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA regsvr</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: RU; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA 32 из </SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA XP</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: RU; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA и запустить на машине с </SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA W</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: RU; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA 2</SPAN><SPAN lang=EN-US style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: EN-US; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA K</SPAN><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman' mso-ansi-language: RU; mso-fareast-font-family: 'Times New Roman' mso-fareast-language: RU; mso-bidi-language: AR-SA . </SPAN>
boombastik
7 / 7 / 0
Регистрация: 13.02.2007
Сообщений: 1,255
13.05.2006, 01:25     Как перенести приложение вместе с классом на другую машину? #3
Это точно не поможет, потому как все что делает regsvr32 сводится к выполнению ф-ций: DllRegisterServer и DllUnregisterServer при регистрации и дерегистрации библиотеки соответственно.



В данном случае могу лишь предположить, что библиотека скомпилирована или использует системные библиотеки / возможности, которые поддерживаются только операционной системой Windows XP. Возможно, в Windows 2000 можно доустановить эти библиотеки, а в Windows XP они предустановлены, возможно используются ф-ции ядра Win API, которые не реализованы в Win 2000.



С уважением,

Владимир
ysbp
0 / 0 / 0
Регистрация: 05.07.2011
Сообщений: 13
27.06.2012, 15:17  [ТС]     Как перенести приложение вместе с классом на другую машину? #4
С помощью ATL я создал класс, реализующий дуальный интерфейс.
Класс этот находится внутри приложения MFC. Все прекрасно работает
на моей машине. Теперь вопрос: как перенести приложение вместе
с этим классом на другую машину? На другой машине нет регистрации
моего класса и соотвестсвующего интерфейса. Как их там зарегистрировать?
suffix
Сообщений: n/a
27.06.2012, 16:33     Как перенести приложение вместе с классом на другую машину? #5
Наиболее простое (для InProcessServer) - с помощью утилиты командной строки regsvr32(см. ключи regsvr32/?) – она просто вызывает реализованные в DLL (это делает мастер ATL) ф-ции DllRegisterServer(), DllUnregisterServer()
ysbp
0 / 0 / 0
Регистрация: 05.07.2011
Сообщений: 13
28.06.2012, 11:19  [ТС]     Как перенести приложение вместе с классом на другую машину? #6
[quote="suffux"]Наиболее простое (для InProcessServer) - с помощью утилиты командной строки regsvr32(см. ключи regsvr32/?)...

Как правильно написать строку после regsvr32, надо путь прописывать к DLL?
Я пишу regsvr32.exe C:MyServer.dll,прописывая адрес ДЛЛ и получаю сообщение
"Не найден путь...".
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2012, 21:03     Как перенести приложение вместе с классом на другую машину?
Еще ссылки по теме:

C++ Как перенести строку в коде с++
C++ Потоковый ввод из файла вместе с классом. Не пойму в чем причина
Как сделать так, Чтобы вместе с переменной в массиве хранилось число и Строка? C++
C++ Как перенести в приложение, типа как игру
Как проверить является ли объект базовым классом или наследником C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
suffix
Сообщений: n/a
28.06.2012, 21:03     Как перенести приложение вместе с классом на другую машину? #7
Чтобы не было проблем с путем, когда используются длинные имена файлов, лучше, находясь в окне командной строки, сделать директорий, где лежит (должна лежать) DLL текущим и запускать утилиту регистрации из этого каталога -
регистрация regsvr32 DllName.dll
снятие регистрации regsvr32 /u DllName.dll
У меня все работает - перепроверил два раза
Если есть проблемы, надо проверить, а экспортируются ли 4 основных ф-ции COM- сервером (DllGetClassObject, DllCanUnloadNow, DllRegisterServer, DllUnregisterServer). Это делается с помощью утилиты dumpbin. Она должна выдать относительные адреса и порядковые номера ф-ций в Ком-сервере:
dumpbin /exports DllName.dll
Если не выдаст - проблемы уже с проектом
Yandex
Объявления
28.06.2012, 21:03     Как перенести приложение вместе с классом на другую машину?
Ответ Создать тему
Опции темы

Текущее время: 03:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru