Improve company productivity with a Business Account.Sign Up

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 322
  • Last Modified:

please help me!

I am working with this mfc/ole stuff that is driving me nuts.

the samples I have work fine, but when I remove the framework they have, and replace it with a console type version, the stuff no longer works...

this is the object I am trying to create:

class IDatabase : public COleDispatchDriver
     IDatabase() {}          // Calls COleDispatchDriver default constructor


I am trying to create it like this:
IDatabase Database;

then I try to use it:
     Database.CreateDispatch("ACTOLE.DATABASE", pException);              

which I believe calls COleDispatchDriver::CreateDispatch

anyways, I get an exception when I do that...
and I'm not sure why.

please help me
  • 5
  • 2
1 Solution
Does it have to be registered?
Is it a ClassID?

Did you trace through each step of the creation in the debugger?

I made a sample app and it failed at getting the ClassID.

bebonhamAuthor Commented:
okay, it must have been something else...sorry about this...feel stupid..but okay here is where I am now:

#include "StdAfx.h"
#include <iostream>
#include <string>
#include <fstream>
#include "actole.h"
#include "Actflds.h"

void ListContacts()
          COleException *pException=new COleException;

     IDatabase Database;                                            
     Database.CreateDispatch("ACTOLE.DATABASE", pException);
     Database.Open("C:\\My Documents\\ACT\\Database\\Act5Demo.dbf");
     IContact Contact;
     LPDISPATCH contactDispatch = Database.GetContact();
     //Contact.AttachDispatch(contactDispatch, TRUE);

          TRACE("Detected Exception in CActcliDlg::OnListContacts() \n");          
          AfxMessageBox("Detected Exception in CActcliDlg::OnListContacts ");

int main()
     return 0;

now, if you uncomment that one line it throws an exception...

yes, the ACTOLE.DATABASE needs to be registered...

how can I get an answer on this...

what do you suggest I do?
I am not too good at the debugger...

bebonhamAuthor Commented:
here is what I think I got from the debugger..

Loaded 'C:\WINDOWS\SYSTEM\USER32.DLL', no matching symbolic information found.
Loaded 'C:\WINDOWS\SYSTEM\ADVAPI32.DLL', no matching symbolic information found.
Loaded 'C:\WINDOWS\SYSTEM\GDI32.DLL', no matching symbolic information found.
Loaded 'C:\WINDOWS\SYSTEM\KERNEL32.DLL', no matching symbolic information found.
Loaded symbols for 'C:\WINDOWS\SYSTEM\MSVCRTD.DLL'
Loaded symbols for 'C:\WINDOWS\SYSTEM\MFC42D.DLL'
Loaded 'C:\WINDOWS\SYSTEM\OLE32.DLL', no matching symbolic information found.

Warning: CreateDispatch returning scode = CO_E_NOTINITIALIZED ($800401F0).

Warning: attempt to call Invoke with NULL m_lpDispatch!

what do the experts think?

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

bebonhamAuthor Commented:
I think my problem is with this:
I am including afxdisp.h


The error is saying that COM has not been initialized.  I'm uncertain in a console app but you need to call AfxOleInit() before doing any COM calls. I'd do it before calling ListContacts().
bebonhamAuthor Commented:
thank you!

you are correct, that is what I also found w/ help from the c++ ta.

problem is I am trying to do a console app :)

I tried the cpp OleInitialize() but that doesn't seem to jive quite right with the MFC stuff.

know any good places to learn about the structure of an MFC problem is I can understand c++ structure enough, but all the different files and stuff that go into MFC are confusing.


I don't know of any really good places on the net.  MFC has been around for a fair while so there are a ton of books out on it.  I think that the Wrox book Professional MFC by Mike Blaczek (aak -- spelling!) is one of the most comprehensive.  Mike was one of the original architects of MFC.
bebonhamAuthor Commented:
yeah I have it...

great paperweight for beginners :)
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

  • 5
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now