473,221 Members | 2,001 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,221 software developers and data experts.

Problem using a COM object

I'm using an Act database. I was stuck on this a year ago and am still
having trouble.

I have three bits of code like so : -

act.CActAppObj objACT = new act.CActAppObj();
act.CAIBaseView objBaseView = new act.CAIBaseView();

act.CAIViews objViewsCollection = new act.CAIViews();

The first part compiles fine. The second and third. Both generate
errors like so: -

System.Runtime.InteropServices.COMException was unhandled
Message="Retrieving the COM class factory for component with CLSID
{0CD44B28-F861-11D0-9B45-006097B00E23} failed due to the following
error: 80040154."
Source="WindowsApplication1"
ErrorCode=-2147221164
StackTrace:
at WindowsApplication1.Form1.Form1_Load(Object sender, EventArgs
e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.SetVisibleCore(Boolean value)
at System.Windows.Forms.Control.set_Visible(Boolean value)
at
System.Windows.Forms.Application.ThreadContext.Run MessageLoopInner(Int32
reason, ApplicationContext context)
at
System.Windows.Forms.Application.ThreadContext.Run MessageLoop(Int32
reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at WindowsApplication1.Program.Main()
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[]
args)
at System.AppDomain.ExecuteAssembly(String assemblyFile,
Evidence assemblySecurity, String[] args)
at
Microsoft.VisualStudio.HostingProcess.HostProc.Run UsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context( Object
state)
at System.Threading.ExecutionContext.Run(ExecutionCon text
executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Am i right in thinking because the first statement compiles OK the
problem isn't to do with the DLL being registered? Sometime ago when I
last looked at this I seem to remember trying to use a utility called
tlbimp to fix it but didn't get very far.

Someone gave me some code sometime ago which is what my code is based
on.
They said that the code would work for VB6.

I am trying to get it working in .net C# here is some of their code
that i'm basing my code on.

================================================== =======
Me.ActEvent1.Register 0 'ACT! must be open. This registers this program
with ACT!

'check and see if ACT! is running
If Me.ActEvent1.IsActRunning <True Then

MsgBox "Open ACT! and start again.", vbCritical, "ACT! is closed"

End

End If

End Sub

Private Sub Form_Unload(Cancel As Integer)

'Unregister with ACT! when our program unloads.
Me.ActEvent1.UnRegister

End Sub

'ACT! informs you of this event when a user adds a new Contact
'from the Contact View or Contact List View in ACT!
Private Sub ActEvent1_OnContactAdd(ByVal lpszUniqueID As String)

Dim objACT As New act.CActAppObj 'The ACT application object
Dim objViewsCollection As act.CAIViews 'The collection of all views in
ACT!
Dim objBaseView As act.CAIBaseView 'A generic "base view" in ACT! We
need this to determine
'if the new Contact is being added from the Contact view/screen
'or the Contact List view/screen.

Set objViewsCollection = objACT.Views 'Get all view from ACT!
Set objBaseView = objViewsCollection.GetActive 'Get the active
view/screen from the collection
'This logic determines which view/screen the user is using when adding
the new Contact.
'NOTE: the "Active" view is the currently visible view/screen the user
sees in ACT!
If objBaseView.Type = 1 Then 'The user is using the Contact View/Screen
(Type 1).

Dim objContactView As act.CAIContactView 'declare an object of type
Contact View

'get the "Active" view/screen the user is using - again!
Set objContactView = objViewsCollection.GetActive
================================================== =======

Here is my code i've coded based on this: -
===================================
sing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
axActEvent1.Register(0);

bool isit = axActEvent1.IsActRunning();

act.CActAppObj objACT = new act.CActAppObj();

act.CAIBaseView objBaseView = new act.CAIBaseView();

act.CAIViews objViewsCollection = new act.CAIViews();

MessageBox.Show(isit.ToString());

}

private void axActEvent1_OnDatabaseOpen(object sender,
AxACTEVENTLib._DActEventEvents_OnDatabaseOpenEvent e)
{

}

private void axActEvent1_OnContactAdd(object sender,
AxACTEVENTLib._DActEventEvents_OnContactAddEvent e)
{

}

}
}

==
Now my code is mostly working. For example the register(0) is returning
a success. And after much tweaking about with the wizard generated code
I have my OnContactAdd event working, so when a new contact is added in
ACT my event fires in my code. So i seem to have a communication of
sort between ACT and my program. The problem I have at the moment is
the functionality I want is based on those three lines I pasted at the
start of this post: -

act.CActAppObj objACT = new act.CActAppObj();
act.CAIBaseView objBaseView = new act.CAIBaseView();

act.CAIViews objViewsCollection = new act.CAIViews();

And lines 2 and 3 seem to be generating this error I've mentioned.

Any ideas would be appreciated.

Thanks,

Gary.

Jan 10 '07 #1
8 3896
Error code 0x80040154 means that the COM object it is looking for is not
registered. Possibly your 2nd and 3rd objects are in a different COM server
which is not registered.

--
======================
Clive Dixon
Digita Ltd. (www.digita.com)
"Gary" <ga********@myway.comwrote in message
news:11*********************@k58g2000hse.googlegro ups.com...
I'm using an Act database. I was stuck on this a year ago and am still
having trouble.

I have three bits of code like so : -

act.CActAppObj objACT = new act.CActAppObj();
act.CAIBaseView objBaseView = new act.CAIBaseView();

act.CAIViews objViewsCollection = new act.CAIViews();

The first part compiles fine. The second and third. Both generate
errors like so: -

System.Runtime.InteropServices.COMException was unhandled
Message="Retrieving the COM class factory for component with CLSID
{0CD44B28-F861-11D0-9B45-006097B00E23} failed due to the following
error: 80040154."
Source="WindowsApplication1"
ErrorCode=-2147221164
StackTrace:
at WindowsApplication1.Form1.Form1_Load(Object sender, EventArgs
e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.SetVisibleCore(Boolean value)
at System.Windows.Forms.Control.set_Visible(Boolean value)
at
System.Windows.Forms.Application.ThreadContext.Run MessageLoopInner(Int32
reason, ApplicationContext context)
at
System.Windows.Forms.Application.ThreadContext.Run MessageLoop(Int32
reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at WindowsApplication1.Program.Main()
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[]
args)
at System.AppDomain.ExecuteAssembly(String assemblyFile,
Evidence assemblySecurity, String[] args)
at
Microsoft.VisualStudio.HostingProcess.HostProc.Run UsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context( Object
state)
at System.Threading.ExecutionContext.Run(ExecutionCon text
executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Am i right in thinking because the first statement compiles OK the
problem isn't to do with the DLL being registered? Sometime ago when I
last looked at this I seem to remember trying to use a utility called
tlbimp to fix it but didn't get very far.

Someone gave me some code sometime ago which is what my code is based
on.
They said that the code would work for VB6.

I am trying to get it working in .net C# here is some of their code
that i'm basing my code on.

================================================== =======
Me.ActEvent1.Register 0 'ACT! must be open. This registers this program
with ACT!

'check and see if ACT! is running
If Me.ActEvent1.IsActRunning <True Then

MsgBox "Open ACT! and start again.", vbCritical, "ACT! is closed"

End

End If

End Sub

Private Sub Form_Unload(Cancel As Integer)

'Unregister with ACT! when our program unloads.
Me.ActEvent1.UnRegister

End Sub

'ACT! informs you of this event when a user adds a new Contact
'from the Contact View or Contact List View in ACT!
Private Sub ActEvent1_OnContactAdd(ByVal lpszUniqueID As String)

Dim objACT As New act.CActAppObj 'The ACT application object
Dim objViewsCollection As act.CAIViews 'The collection of all views in
ACT!
Dim objBaseView As act.CAIBaseView 'A generic "base view" in ACT! We
need this to determine
'if the new Contact is being added from the Contact view/screen
'or the Contact List view/screen.

Set objViewsCollection = objACT.Views 'Get all view from ACT!
Set objBaseView = objViewsCollection.GetActive 'Get the active
view/screen from the collection
'This logic determines which view/screen the user is using when adding
the new Contact.
'NOTE: the "Active" view is the currently visible view/screen the user
sees in ACT!
If objBaseView.Type = 1 Then 'The user is using the Contact View/Screen
(Type 1).

Dim objContactView As act.CAIContactView 'declare an object of type
Contact View

'get the "Active" view/screen the user is using - again!
Set objContactView = objViewsCollection.GetActive
================================================== =======

Here is my code i've coded based on this: -
===================================
sing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
axActEvent1.Register(0);

bool isit = axActEvent1.IsActRunning();

act.CActAppObj objACT = new act.CActAppObj();

act.CAIBaseView objBaseView = new act.CAIBaseView();

act.CAIViews objViewsCollection = new act.CAIViews();

MessageBox.Show(isit.ToString());

}

private void axActEvent1_OnDatabaseOpen(object sender,
AxACTEVENTLib._DActEventEvents_OnDatabaseOpenEvent e)
{

}

private void axActEvent1_OnContactAdd(object sender,
AxACTEVENTLib._DActEventEvents_OnContactAddEvent e)
{

}

}
}

==
Now my code is mostly working. For example the register(0) is returning
a success. And after much tweaking about with the wizard generated code
I have my OnContactAdd event working, so when a new contact is added in
ACT my event fires in my code. So i seem to have a communication of
sort between ACT and my program. The problem I have at the moment is
the functionality I want is based on those three lines I pasted at the
start of this post: -

act.CActAppObj objACT = new act.CActAppObj();
act.CAIBaseView objBaseView = new act.CAIBaseView();

act.CAIViews objViewsCollection = new act.CAIViews();

And lines 2 and 3 seem to be generating this error I've mentioned.

Any ideas would be appreciated.

Thanks,

Gary.

Jan 10 '07 #2
Hmm the CAIBaseView isn't listed in the documentation, yet it comes up
through the intelisense when i type act.

Any idea how I find out the file that this is in that i need to
register?

Thanks,

Gary.

On Jan 10, 12:16 pm, "Clive Dixon"
<clived.noluncheonm...@digita.noluncheonmeat.comwr ote:
Error code 0x80040154 means that the COM object it is looking for is not
registered. Possibly your 2nd and 3rd objects are in a different COM server
which is not registered.

--
======================
Clive Dixon
Digita Ltd. (www.digita.com)

"Gary" <garyuse...@myway.comwrote in messagenews:11*********************@k58g2000hse.go oglegroups.com...
I'm using an Act database. I was stuck on this a year ago and am still
having trouble.
I have three bits of code like so : -
act.CActAppObj objACT = new act.CActAppObj();
act.CAIBaseView objBaseView = new act.CAIBaseView();
act.CAIViews objViewsCollection = new act.CAIViews();
The first part compiles fine. The second and third. Both generate
errors like so: -
System.Runtime.InteropServices.COMException was unhandled
Message="Retrieving the COM class factory for component with CLSID
{0CD44B28-F861-11D0-9B45-006097B00E23} failed due to the following
error: 80040154."
Source="WindowsApplication1"
ErrorCode=-2147221164
StackTrace:
at WindowsApplication1.Form1.Form1_Load(Object sender, EventArgs
e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.SetVisibleCore(Boolean value)
at System.Windows.Forms.Control.set_Visible(Boolean value)
at
System.Windows.Forms.Application.ThreadContext.Run MessageLoopInner(Int32
reason, ApplicationContext context)
at
System.Windows.Forms.Application.ThreadContext.Run MessageLoop(Int32
reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at WindowsApplication1.Program.Main()
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[]
args)
at System.AppDomain.ExecuteAssembly(String assemblyFile,
Evidence assemblySecurity, String[] args)
at
Microsoft.VisualStudio.HostingProcess.HostProc.Run UsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context( Object
state)
at System.Threading.ExecutionContext.Run(ExecutionCon text
executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Am i right in thinking because the first statement compiles OK the
problem isn't to do with the DLL being registered? Sometime ago when I
last looked at this I seem to remember trying to use a utility called
tlbimp to fix it but didn't get very far.
Someone gave me some code sometime ago which is what my code is based
on.
They said that the code would work for VB6.
I am trying to get it working in .net C# here is some of their code
that i'm basing my code on.
================================================== =======
Me.ActEvent1.Register 0 'ACT! must be open. This registers this program
with ACT!
'check and see if ACT! is running
If Me.ActEvent1.IsActRunning <True Then
MsgBox "Open ACT! and start again.", vbCritical, "ACT! is closed"
End
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
'Unregister with ACT! when our program unloads.
Me.ActEvent1.UnRegister
End Sub
'ACT! informs you of this event when a user adds a new Contact
'from the Contact View or Contact List View in ACT!
Private Sub ActEvent1_OnContactAdd(ByVal lpszUniqueID As String)
Dim objACT As New act.CActAppObj 'The ACT application object
Dim objViewsCollection As act.CAIViews 'The collection of all views in
ACT!
Dim objBaseView As act.CAIBaseView 'A generic "base view" in ACT! We
need this to determine
'if the new Contact is being added from the Contact view/screen
'or the Contact List view/screen.
Set objViewsCollection = objACT.Views 'Get all view from ACT!
Set objBaseView = objViewsCollection.GetActive 'Get the active
view/screen from the collection
'This logic determines which view/screen the user is using when adding
the new Contact.
'NOTE: the "Active" view is the currently visible view/screen the user
sees in ACT!
If objBaseView.Type = 1 Then 'The user is using the Contact View/Screen
(Type 1).
Dim objContactView As act.CAIContactView 'declare an object of type
Contact View
'get the "Active" view/screen the user is using - again!
Set objContactView = objViewsCollection.GetActive
================================================== =======
Here is my code i've coded based on this: -
===================================
sing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
axActEvent1.Register(0);
bool isit = axActEvent1.IsActRunning();
act.CActAppObj objACT = new act.CActAppObj();
act.CAIBaseView objBaseView = new act.CAIBaseView();
act.CAIViews objViewsCollection = new act.CAIViews();
MessageBox.Show(isit.ToString());
}
private void axActEvent1_OnDatabaseOpen(object sender,
AxACTEVENTLib._DActEventEvents_OnDatabaseOpenEvent e)
{
}
private void axActEvent1_OnContactAdd(object sender,
AxACTEVENTLib._DActEventEvents_OnContactAddEvent e)
{
}
}
}
==
Now my code is mostly working. For example the register(0) is returning
a success. And after much tweaking about with the wizard generated code
I have my OnContactAdd event working, so when a new contact is added in
ACT my event fires in my code. So i seem to have a communication of
sort between ACT and my program. The problem I have at the moment is
the functionality I want is based on those three lines I pasted at the
start of this post: -
act.CActAppObj objACT = new act.CActAppObj();
act.CAIBaseView objBaseView = new act.CAIBaseView();
act.CAIViews objViewsCollection = new act.CAIViews();
And lines 2 and 3 seem to be generating this error I've mentioned.
Any ideas would be appreciated.
Thanks,
Gary.- Hide quoted text -- Show quoted text -
Jan 10 '07 #3

P.S. they are both 'interfaces' if that makes any difference.

On Jan 10, 12:23 pm, "Gary" <garyuse...@myway.comwrote:
Hmm the CAIBaseView isn't listed in the documentation, yet it comes up
through the intelisense when i type act.

Any idea how I find out the file that this is in that i need to
register?

Thanks,

Gary.

On Jan 10, 12:16 pm, "Clive Dixon"

<clived.noluncheonm...@digita.noluncheonmeat.comwr ote:
Error code 0x80040154 means that the COM object it is looking for is not
registered. Possibly your 2nd and 3rd objects are in a different COM server
which is not registered.
--
======================
Clive Dixon
Digita Ltd. (www.digita.com)
"Gary" <garyuse...@myway.comwrote in messagenews:11*********************@k58g2000hse.go oglegroups.com...
I'm using an Act database. I was stuck on this a year ago and am still
having trouble.
I have three bits of code like so : -
act.CActAppObj objACT = new act.CActAppObj();
act.CAIBaseView objBaseView = new act.CAIBaseView();
act.CAIViews objViewsCollection = new act.CAIViews();
The first part compiles fine. The second and third. Both generate
errors like so: -
System.Runtime.InteropServices.COMException was unhandled
Message="Retrieving the COM class factory for component with CLSID
{0CD44B28-F861-11D0-9B45-006097B00E23} failed due to the following
error: 80040154."
Source="WindowsApplication1"
ErrorCode=-2147221164
StackTrace:
at WindowsApplication1.Form1.Form1_Load(Object sender, EventArgs
e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.SetVisibleCore(Boolean value)
at System.Windows.Forms.Control.set_Visible(Boolean value)
at
System.Windows.Forms.Application.ThreadContext.Run MessageLoopInner(Int32
reason, ApplicationContext context)
at
System.Windows.Forms.Application.ThreadContext.Run MessageLoop(Int32
reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at WindowsApplication1.Program.Main()
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[]
args)
at System.AppDomain.ExecuteAssembly(String assemblyFile,
Evidence assemblySecurity, String[] args)
at
Microsoft.VisualStudio.HostingProcess.HostProc.Run UsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context( Object
state)
at System.Threading.ExecutionContext.Run(ExecutionCon text
executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Am i right in thinking because the first statement compiles OK the
problem isn't to do with the DLL being registered? Sometime ago when I
last looked at this I seem to remember trying to use a utility called
tlbimp to fix it but didn't get very far.
Someone gave me some code sometime ago which is what my code is based
on.
They said that the code would work for VB6.
I am trying to get it working in .net C# here is some of their code
that i'm basing my code on.
================================================== =======
Me.ActEvent1.Register 0 'ACT! must be open. This registers this program
with ACT!
'check and see if ACT! is running
If Me.ActEvent1.IsActRunning <True Then
MsgBox "Open ACT! and start again.", vbCritical, "ACT! is closed"
End
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
'Unregister with ACT! when our program unloads.
Me.ActEvent1.UnRegister
End Sub
'ACT! informs you of this event when a user adds a new Contact
'from the Contact View or Contact List View in ACT!
Private Sub ActEvent1_OnContactAdd(ByVal lpszUniqueID As String)
Dim objACT As New act.CActAppObj 'The ACT application object
Dim objViewsCollection As act.CAIViews 'The collection of all views in
ACT!
Dim objBaseView As act.CAIBaseView 'A generic "base view" in ACT! We
need this to determine
'if the new Contact is being added from the Contact view/screen
'or the Contact List view/screen.
Set objViewsCollection = objACT.Views 'Get all view from ACT!
Set objBaseView = objViewsCollection.GetActive 'Get the active
view/screen from the collection
'This logic determines which view/screen the user is using when adding
the new Contact.
'NOTE: the "Active" view is the currently visible view/screen the user
sees in ACT!
If objBaseView.Type = 1 Then 'The user is using the Contact View/Screen
(Type 1).
Dim objContactView As act.CAIContactView 'declare an object of type
Contact View
'get the "Active" view/screen the user is using - again!
Set objContactView = objViewsCollection.GetActive
================================================== =======
Here is my code i've coded based on this: -
===================================
sing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
axActEvent1.Register(0);
bool isit = axActEvent1.IsActRunning();
act.CActAppObj objACT = new act.CActAppObj();
act.CAIBaseView objBaseView = new act.CAIBaseView();
act.CAIViews objViewsCollection = new act.CAIViews();
MessageBox.Show(isit.ToString());
}
private void axActEvent1_OnDatabaseOpen(object sender,
AxACTEVENTLib._DActEventEvents_OnDatabaseOpenEvent e)
{
}
private void axActEvent1_OnContactAdd(object sender,
AxACTEVENTLib._DActEventEvents_OnContactAddEvent e)
{
}
}
}
==
Now my code is mostly working. For example the register(0) is returning
a success. And after much tweaking about with the wizard generated code
I have my OnContactAdd event working, so when a new contact is added in
ACT my event fires in my code. So i seem to have a communication of
sort between ACT and my program. The problem I have at the moment is
the functionality I want is based on those three lines I pasted at the
start of this post: -
act.CActAppObj objACT = new act.CActAppObj();
act.CAIBaseView objBaseView = new act.CAIBaseView();
act.CAIViews objViewsCollection = new act.CAIViews();
And lines 2 and 3 seem to be generating this error I've mentioned.
Any ideas would be appreciated.
Thanks,
Gary.- Hide quoted text -- Show quoted text -- Hide quoted text -- Show quoted text -
Jan 10 '07 #4
Gary wrote:
P.S. they are both 'interfaces' if that makes any difference.

You cannot instantiate interface, you have to instantiate the object
that implements the class.

Those object may reside in a different dll.

Is the first object which is successfully instantiated also interface ?
I doubt it.

Jianwei
Jan 10 '07 #5
Hi i think it is, when I hover the mouse over it (it is light turqiose
in the ide) it is prefexied with the word interface.

I still haven't got any further with this, so any input would be
greatly appreciated.

Thanks,

Gary.
Jianwei Sun wrote:
Gary wrote:
P.S. they are both 'interfaces' if that makes any difference.


You cannot instantiate interface, you have to instantiate the object
that implements the class.

Those object may reside in a different dll.

Is the first object which is successfully instantiated also interface ?
I doubt it.

Jianwei
Jan 10 '07 #6
i'm still stuck with this

Gary wrote:
Hi i think it is, when I hover the mouse over it (it is light turqiose
in the ide) it is prefexied with the word interface.

I still haven't got any further with this, so any input would be
greatly appreciated.

Thanks,

Gary.
Jianwei Sun wrote:
Gary wrote:
P.S. they are both 'interfaces' if that makes any difference.
>

You cannot instantiate interface, you have to instantiate the object
that implements the class.

Those object may reside in a different dll.

Is the first object which is successfully instantiated also interface ?
I doubt it.

Jianwei
Jan 11 '07 #7
Still I can not find a solution. Experts do you have any idea what is
going wrong here.

"Retrieving the COM class factory for component with CLSID
{0CD44B28-F861-11D0-9B45-006097B00E23} failed due to the following
error: 80040154."

The code that is generating the error is: act.CAIBaseView objBaseView =
new act.CAIBaseView();

However the following code works fine: act.CActAppObj objACT = new
act.CActAppObj();

Both: CActAppObj, and CAIBaseView are prefixed with 'interface' when I
hover the mouse over them.

Someone suggested that the file that caibaseview needs might not be
registered properly but I do not know how to check if this is the case,
or to determine which file this should be.

Thanks,

Gary.

Jan 17 '07 #8
Im still stumped experts.

Gary wrote:
Still I can not find a solution. Experts do you have any idea what is
going wrong here.

"Retrieving the COM class factory for component with CLSID
{0CD44B28-F861-11D0-9B45-006097B00E23} failed due to the following
error: 80040154."

The code that is generating the error is: act.CAIBaseView objBaseView =
new act.CAIBaseView();

However the following code works fine: act.CActAppObj objACT = new
act.CActAppObj();

Both: CActAppObj, and CAIBaseView are prefixed with 'interface' when I
hover the mouse over them.

Someone suggested that the file that caibaseview needs might not be
registered properly but I do not know how to check if this is the case,
or to determine which file this should be.

Thanks,

Gary.
Jan 18 '07 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Leslaw Bieniasz | last post by:
Cracow, 20.09.2004 Hello, I need to implement a library containing a hierarchy of classes together with some binary operations on objects. To fix attention, let me assume that it is a...
1
by: Rhy Mednick | last post by:
I'm creating a custom control (inherited from UserControl) that is displayed by other controls on the form. I would like for the control to disappear when the user clicks outside my control the...
1
by: Joe Bloggs | last post by:
I am trying display the contents of a table in a web page, select certain rows from that table and then display the fields that I have selected (now table columns) as text in a Label object....
9
by: Rajat Tandon | last post by:
Hello there, I am relatively new to the newsgroups and C#. I have never been disappointed with the groups and always got the prompt replies to my queries.This is yet another strange issue, I am...
4
by: zubair | last post by:
Hello everyone! I have uploaded my site on a webserver. Some times it works fine but some time it gives error "Null Object reference exception". The same site on my local server works just fine. ...
4
by: Rod Gill | last post by:
Hi, I have a form that when opened in the designer appears of the screen. The form selector can't be dragged (or resized) and if I scroll right and down to centralise it the form simply jumps...
6
by: TPJ | last post by:
Help me please, because I really don't get it. I think it's some stupid mistake I make, but I just can't find it. I have been thinking about it for three days so far and I still haven't found any...
5
by: Harold Howe | last post by:
I am having a problem deserializing objects from a library when the following conditions exist: 1- The library is strongly named 2- The serialized file was created with version 1.0 of the...
3
by: Jon L | last post by:
Hi, I'm hoping someone can help me with this problem. I'm not sure whether the problem lies with the software or with my understanding of the language. I'm using the Microsoft.XMLDOM object...
0
by: VivesProcSPL | last post by:
Obviously, one of the original purposes of SQL is to make data query processing easy. The language uses many English-like terms and syntax in an effort to make it easy to learn, particularly for...
3
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 3 Jan 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). For other local times, please check World Time Buddy In...
0
by: jianzs | last post by:
Introduction Cloud-native applications are conventionally identified as those designed and nurtured on cloud infrastructure. Such applications, rooted in cloud technologies, skillfully benefit from...
0
by: mar23 | last post by:
Here's the situation. I have a form called frmDiceInventory with subform called subfrmDice. The subform's control source is linked to a query called qryDiceInventory. I've been trying to pick up the...
0
by: abbasky | last post by:
### Vandf component communication method one: data sharing ​ Vandf components can achieve data exchange through data sharing, state sharing, events, and other methods. Vandf's data exchange method...
2
by: jimatqsi | last post by:
The boss wants the word "CONFIDENTIAL" overlaying certain reports. He wants it large, slanted across the page, on every page, very light gray, outlined letters, not block letters. I thought Word Art...
0
by: fareedcanada | last post by:
Hello I am trying to split number on their count. suppose i have 121314151617 (12cnt) then number should be split like 12,13,14,15,16,17 and if 11314151617 (11cnt) then should be split like...
0
Git
by: egorbl4 | last post by:
Скачал я git, хотел начать настройку, а там вылезло вот это Что это? Что мне с этим делать? ...
0
by: MeoLessi9 | last post by:
I have VirtualBox installed on Windows 11 and now I would like to install Kali on a virtual machine. However, on the official website, I see two options: "Installer images" and "Virtual machines"....

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.