Link to home
Start Free TrialLog in
Avatar of pneumann
pneumann

asked on

failed to create empty document

I have developed an application on Windows 95 (MFC 4.0).
Now I started my program on  Win 3.11, but I get the
errormessage  'failed to create empty document'.
I get the message after the ProcessShellCommand(cmdInfo) call in initInstance().

I have found that I get the message because the CFrameWnd::OnCreate(lpCreateStruct) function returns the value -1.
But I don't know why.



Avatar of TKII
TKII

Your program is a 32 bit program (Win95, VC++4.0) that cannot run under Win3.11. Or is there something you didn't told us?
Avatar of pneumann

ASKER

I use win32s on Win 3.11 !!!!
I have developed already programms with VC++ 4.0 and they
run under Win3.11 without problems.

Please let us have a look at some code (e.g. InitInstance).
Here the following code:
The application consist of an CFormView and some CDialogs which
are called from the menu or with buttons from the CFormView dialog resource. Is it possible that there is a connection between the error and the MAINFRAME menu configuration?

BOOL CMessungApp::InitInstance()
{
      // Standard initialization
      // If you are not using these features and wish to reduce the size
      //  of your final executable, you should remove from the following
      //  the specific initialization routines you do not need.

      CFrameWnd* pFrame = NULL;

      SetRegistryKey("Messung und Sortierung");

      LoadStdProfileSettings();  // Load standard INI file options (including MRU)

      // Register the application's document templates.  Document templates
      //  serve as the connection between documents, frame windows and views.

      CSingleDocTemplate* pDocTemplate;
      pDocTemplate = new CSingleDocTemplate(
            IDR_MAINFRAME,
            RUNTIME_CLASS(CMessungDoc),
            RUNTIME_CLASS(CMainFrame),       // main SDI frame window
            RUNTIME_CLASS(CMessungView));
      AddDocTemplate(pDocTemplate);

      // Parse command line for standard shell commands, DDE, file open
      CCommandLineInfo cmdInfo;
      
      ParseCommandLine(cmdInfo);

      // Dispatch commands specified on the command line
         if (!ProcessShellCommand(cmdInfo))
            return FALSE;
       
        // ProcessShellCommand() return FALSE ??!!!
        // after displaying "failed to create empty document"        

      OpenDocumentFile("messung.dat");
      
      return TRUE;
}

Maybe your error has something to do with this line:

CFrameWnd* pFrame = NULL;

In my projects there are this lines that create the main frame window.

CMainFrame* pMainFrame = new CMainFrame;
if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
     return FALSE;
m_pMainWnd = pMainFrame;

Try to create a new project with appwizzard and compare the InitInstance() with the one you have.
Sorry, but I tried it, and I get the same output.
But now I have found the failure !!!!!

I use a CFormView with an attached dialog, and in the dialog
there was an TextItem and I have enabled the Static edge in the
Extended Styles. This works only on win95.

Normaly a message appears that an unsupported component was found.
But in this case it does not !! ???

ok that's fine. Don't forget to set the points for your question to 0 and send a mail that your question can be removed.
ok that's fine. Don't forget to set the points for your question to 0 and send a mail that your question can be removed.
ASKER CERTIFIED SOLUTION
Avatar of gelbert
gelbert

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial