Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / obj = CREATEOBJECTEX('ServerName', 'ComputerName'), проблема / 6 сообщений из 6, страница 1 из 1
30.07.2008, 23:10
    #35461637
obj = CREATEOBJECTEX('ServerName', 'ComputerName'), проблема
Здравствуйте, подскажите пожалуйста.

Есть COM сервер, написанный на Visual FoxPro 9.

На том компьютере где он создан (а соответственно и зарегистрирован)
через CREATEOBJECT подключиться можно:

Код: plaintext
1.
2.
objSRV = CREATEOBJECT('Srv.MySrv')
?objSRV.GetXXX()

Все отрабатывается как надо.

Возникла необходимость подключиться к нему с другого компьютера.
Как я понял это делается через CREATEOBJECTEX()
Пробовал так:
Код: plaintext
1.
2.
objSRV = CREATEOBJECTEX('Srv.MySrv', 'IP-адрес компьютера где есть обьект COM') && IP-адрес статистический
...

Но после попытки подключения, пишет что "Класс(Обьект) не зарегистрирован"

Как правильно сделать???
...
Рейтинг: 0 / 0
30.07.2008, 23:15
    #35461644
obj = CREATEOBJECTEX('ServerName', 'ComputerName'), проблема
Сервер реализован как DLL
...
Рейтинг: 0 / 0
31.07.2008, 00:31
    #35461685
AlikWishin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
obj = CREATEOBJECTEX('ServerName', 'ComputerName'), проблема
DLL тяни к себе, "Декларь",
Ну токо если она будет внутри еще чегото подгребать специфическое для твого сервера, то тута нуно думать
...
Рейтинг: 0 / 0
31.07.2008, 15:00
    #35463384
obj = CREATEOBJECTEX('ServerName', 'ComputerName'), проблема
Из данного ответа мало что понятно
...
Рейтинг: 0 / 0
31.07.2008, 15:03
    #35463404
obj = CREATEOBJECTEX('ServerName', 'ComputerName'), проблема
Козлячий ответ
...
Рейтинг: 0 / 0
31.07.2008, 15:11
    #35463435
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
obj = CREATEOBJECTEX('ServerName', 'ComputerName'), проблема
VFP9 Функция CREATEOBJECTEX
CREATEOBJECTEX(cCLSID | cPROGID, cComputerName [, cIID])

Параметры

cCLSID| cPROGID

Указывает CLSID (Идентификатор класса) или PROGID (Программный идентификатор) для создания экземпляра COM объекта. Если вы включите в вызов функции CLSID, объект COM должен быть зарегистрирован на удаленном сервере, который вы укажите в параметр cComputerName. Если вы включите в вызов функции PROGID, объект COM должен быть зарегистрирован на обоих компьютерах, как на локальном, так и на удаленном , который вы укажите в параметре cComputerName. Попытка использовать PROGID без первичной регистрации сервера на вашем локальном компьютере приведен к генерации ошибки OLE с текстом Code 0x800401f3, "Invalid Class String."

Для серверов автоматизации Visual FoxPro, созданных на вашей локальной машине, вы можете использовать свойства объекта сервера CLSID и PROGID, для определения локальных значений CLSID и PROGID.

cComputerName

Указывает удаленный компьютер, на котором создается объект COM.

Если cComputerName представляет собой пустую строку, то COM объект создается на локальном компьютере или на перенаправленной машине, если это определено в реестре.

cComputerName поддерживает имена Universal Naming Convention (UNC) такие, как "\\myserver" и "myserver," и имена Domain System Names (DNS).
Обрати внимание на выделенный фрагмент в описании первого параметра. Ты использовал именно PROGID. Кроме того, я не уверен, что данная функция понимает указание IP-адреса вместо имени удаленного компьютера. По крайней мере, на это нет явного указания в описании.

Полное описание функции здесь:

Функция CREATEOBJECTEX()
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / obj = CREATEOBJECTEX('ServerName', 'ComputerName'), проблема / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]