У нас есть очень старое и сложное приложение VB6, которое инициирует объекты .NET-сервера, как и этот CreateObject (sClassName, sServerName). Он успешно работает на нашем производственном сервере. Теперь мы пытаемся перенести наше производство на машину с 64-битной Windows 2008 R2, и этот вызов больше не работает, никаких ошибок, ничего, он просто возвращает пустую строку. Похоже, что наш объект .NET не создан. Все объекты имеют GUID и ProgId, перерегистрированные в сборке и overmimim, что бы мы ни производили. Любые рекомендации были бы очень признательны.Объекты .NET, не инициированные с VB6, когда сервер преобразуется в Windows 2008 R2 64-разрядный
-1
A
ответ
0
CreateObject не может возвращать пустую строку. Это либо returns an object or raises an error.
Возможно, вы случайно используете старую версию компонента? Поместите несколько журналов и проверьте TypeName возвращаемого объекта.
Вы игнорируете ошибки с включением ошибки?
Вы можете попробовать явно настроить 32 бит при создании компонентов .Net, поскольку VB6 будет работать только как 32 бит.
Нет, я уверен относительно версии компонента. VB6 работает просто отлично и возвращает данные из других типов компонентов. Похоже, что он не создает объект, не уверен, как проверить, почему. – user2138121
Хорошо, я смог получить ошибку Номер ошибки: 4100 Источник: Microsoft ADO/RDS Описание: Бизнес-объект не может быть создан. Я также проверяю, создан ли объект objct с myObject Nothing, он возвращает False, поэтому я считаю, что он действительно создан. При попытке вызвать myObject.myFunction() появляется ошибка, то есть ошибка. – user2138121
Google предлагает [проверить некоторые параметры конфигурации на новом компьютере] (http://support.microsoft.com/kb/251122) – MarkJ