Hi Carel,
I read the posts on this thread. I understand that you have a VB6 COM+
Component called from a VB.NET client EXE located on a different machine.
At times, you receive an error message stating that an object reference is
not set to an instance of the object.
Unfortunately, this error message is somewhat generic, but from one of your
posts, it seems that you recover from the failing state by restarting the
COM+ Server Application. If that is correct, then you would need to
troubleshoot the COM+ Server Application. It may be hanging. If you are
familiar with using the Debugging Tools for Windows, you can attach the
debugger and investigate the cause of the error. If you are not familiar
with using the debuggers, you can create a process dump and open a case
with Microsoft PSS for dump analysis.
Before doing that, let's confirm a few things.
When the problem happens, does it affect all clients at once, or just one
(or a few)? If it happens to affect all users, then the COM+ Server App
has a problem. If it affects just one person at a time, then we may need
to look into networking issues.
You stated that when the client receives the error, the COM+ App just
spins. Is this a high CPU situation, or is this DLLHost.EXE process idle?
You can check the CPU utilization in TaskManager, but you may have several
DLLHost.EXE processes running. To identify the particular one, you can use
the Component Services MMC, select the COM+ Applications folder on the
left-hand side, and select View menu / Status View. This will display the
PID (Process ID) for each Server App on the right-hand side. You can then
cross-reference the PID to those in TaskMgr. If PID is not displayed in
TaskMgr, you can select View menu / Select columns... and tick the box for
PID.
When the client receives the error message, can you do a CreateObject from
a VBScript on the COM+ Server? You can test this with code like this:
Dim o
Set o = CreateObject("rppOMS.clsOMS680")
(just paste into Notepad, and save as C:\Test.VBS, then run that from a
CMD.EXE prompt)
Can you also post the exact Exception, including all inner exceptions (if
any), and the stack trace from the client? That may help identify other
potential causes for this error.
Cheers,
Rob
Rob Maushardt
Microsoft Distributed Services
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
| Thread-Topic: Cannot instantiate COM+ application component
| thread-index: AcPlbTObGUKptnzlTKqE9o8/oADPMQ==
| X-Tomcat-NG: microsoft.public.dotnet.general
| From: "=?Utf-8?B?Q2FyZWwgTG90eg==?=" <
[email protected]>
| References: <
[email protected]>
<0#
[email protected]>
| Subject: RE: Cannot instantiate COM+ application component
| Date: Tue, 27 Jan 2004 23:06:07 -0800
| Lines: 50
| Message-ID: <
[email protected]>
| MIME-Version: 1.0
| Content-Type: text/plain;
| charset="Utf-8"
| Content-Transfer-Encoding: 8bit
| X-Newsreader: Microsoft CDO for Windows 2000
| Content-Class: urn:content-classes:message
| Importance: normal
| Priority: normal
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
| Newsgroups: microsoft.public.dotnet.general
| Path: cpmsftngxa07.phx.gbl
| Xref: cpmsftngxa07.phx.gbl microsoft.public.dotnet.general:122874
| NNTP-Posting-Host: tk2msftcmty1.phx.gbl 10.40.1.180
| X-Tomcat-NG: microsoft.public.dotnet.general
|
| Hi
1) .NET v1.1
2) VS 2003
3) Client machines we get the problem on all platforms i.e. Win98 SE,
WinME, Win NT4.0 SP 6a, Win 2000, Win XP Home, Win XP Prof SP 1. Server
is running Win 2000 Server SP 4
Carel
----- Yan-Hong Huang[MSFT] wrote: -----
Hello Carel,
Thanks for posting in the group.
Based on my understanding, now the issue is: You ported VB6
application to
VB.NET. But VB.NET application is still communicating with a few COM+
applications writtenin VB6 runnong on Win2000 Server. The error
message is:
Object reference not set to an instance of an object
at Microsoft.VisualBasic.CompilerServices.LateBinding.LateGet(Object
o,
Type objType, String name, Object[] args, String[] paramnames,
Boolen[]
CopyBack)
The code that caused error is:
objOMS680 = CreateObject("rppOMS.clsOMS680")
Please correct me if I have anything misunderstood.
Currently I am finding somebody who could help you on it. We will
follow up
here with more information. At the same time, could you please provide
the
following information:
1) Which version of .NET framework are you running in that VB.NET
application machine?
2) Which version of VS.NET are you using? VS.NET 2002 or VS.NET 2003?
3) Which OS are you running on for that VB.NET application? Service
Pack
version?
Thanks very much.
Best regards,
Yanhong Huang
Microsoft Community Support
Get Secure! ¨C
www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no
rights.
|