Здравствуте!
Пытаюсь запустить MS Word 2003 из dll(создана с галочкой Add common header files for: MFC).
В проекте содержится лишь код сгенерированный самой студией:
// UseCpp.cpp : Defines the entry point for the DLL application.
//
#include "stdafx.h"
#include "UseCpp.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// The one and only application object
CWinApp theApp;
using namespace std;
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;
// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
_tprintf(_T("Fatal Error: MFC initialization failed\n"));
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
}
return nRetCode;
}
Плюс добавил класс: MFC Class From Type Lib из файла C:\Program Files\Microsoft Office\OFFICE11\MSWORD.OLB
После чего в хэдэрах появился файлик CApplicatiob.h нём добавил две строчки импорта и одну дописал, вот так:
#import "C:\\Program Files\\Microsoft Office\\OFFICE11\\MSWORD.OLB" rename("ExitWindows","_ExitWindows")
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE11\\MSO.DLL"
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB"
Попытка собрать проект была не удачной посыпались ошибки. То же самое проделал для консольного приложения — заработало.
Чего не хватает

?
Вот такие ошибки:
Error 5 error C2146: syntax error : missing ';' before identifier 'Fonts' e:\temp\tempprj\usecpp\debug\msword.tlh 13450
Error 6 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 13450
Error 7 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 13450
Error 8 error C2146: syntax error : missing ';' before identifier 'GetFonts' e:\temp\tempprj\usecpp\debug\msword.tlh 13505
Error 9 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 13505
Error 10 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 13505
Error 12 error C2146: syntax error : missing ';' before identifier 'Assistant' e:\temp\tempprj\usecpp\debug\msword.tlh 18687
Error 13 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18687
Error 14 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18687
Error 15 error C2146: syntax error : missing ';' before identifier 'LanguageSettings' e:\temp\tempprj\usecpp\debug\msword.tlh 18727
Error 16 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18727
Error 17 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18727
Error 18 error C2146: syntax error : missing ';' before identifier 'AnswerWizard' e:\temp\tempprj\usecpp\debug\msword.tlh 18735
Error 19 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18735
Error 20 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18735
Error 21 error C2146: syntax error : missing ';' before identifier 'FileDialog' e:\temp\tempprj\usecpp\debug\msword.tlh 18747
Error 22 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18747
Error 23 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18747
Error 24 error C2146: syntax error : missing ';' before identifier 'CommandBars' e:\temp\tempprj\usecpp\debug\msword.tlh 18761
Error 25 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18761
Error 26 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18761
Error 27 error C2146: syntax error : missing ';' before identifier 'VBE' e:\temp\tempprj\usecpp\debug\msword.tlh 18765
Error 28 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18765
Error 29 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18765
Error 30 error C2146: syntax error : missing ';' before identifier 'NewDocument' e:\temp\tempprj\usecpp\debug\msword.tlh 18783
Error 31 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18783
Error 32 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18783
Error 33 error C2146: syntax error : missing ';' before identifier 'FileSearch' e:\temp\tempprj\usecpp\debug\msword.tlh 18843
Error 34 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18843
Error 35 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18843
Error 36 error C2146: syntax error : missing ';' before identifier 'COMAddIns' e:\temp\tempprj\usecpp\debug\msword.tlh 18857
Error 37 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18857
Error 38 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18857
Error 39 error C2146: syntax error : missing ';' before identifier 'GetAssistant' e:\temp\tempprj\usecpp\debug\msword.tlh 18891
Error 40 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18891
Error 41 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18891
Error 43 error C2146: syntax error : missing ';' before identifier 'GetCommandBars' e:\temp\tempprj\usecpp\debug\msword.tlh 18936
Error 44 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18936
Error 45 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18936
Error 47 error C2146: syntax error : missing ';' before identifier 'GetVBE' e:\temp\tempprj\usecpp\debug\msword.tlh 18940
Error 48 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18940
Error 49 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 18940
Error 51 error C2146: syntax error : missing ';' before identifier 'GetFileSearch' e:\temp\tempprj\usecpp\debug\msword.tlh 19006
Error 52 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 19006
Error 53 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 19006
Error 55 error C2146: syntax error : missing ';' before identifier 'GetCOMAddIns' e:\temp\tempprj\usecpp\debug\msword.tlh 19213
Error 56 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 19213
Error 57 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 19213
Error 59 error C2146: syntax error : missing ';' before identifier 'GetLanguageSettings' e:\temp\tempprj\usecpp\debug\msword.tlh 19217
Error 60 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 19217
Error 61 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 19217
Error 63 error C2146: syntax error : missing ';' before identifier 'GetAnswerWizard' e:\temp\tempprj\usecpp\debug\msword.tlh 19219
Error 64 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 19219
Error 65 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 19219
Error 67 error C2146: syntax error : missing ';' before identifier 'GetFileDialog' e:\temp\tempprj\usecpp\debug\msword.tlh 19298
Error 68 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 19298
Error 69 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 19299
Error 71 error C2146: syntax error : missing ';' before identifier 'GetNewDocument' e:\temp\tempprj\usecpp\debug\msword.tlh 19306
Error 72 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 19306
Error 73 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 19306
Error 75 error C2146: syntax error : missing ';' before identifier 'Assistant' e:\temp\tempprj\usecpp\debug\msword.tlh 19951
Error 76 error C4430: missing type specifier — int assumed. Note: C++ does not support default-int e:\temp\tempprj\usecpp\debug\msword.tlh 19951
Error 77 error C2208: 'Word::Assistant' : no members defined using this type e:\temp\tempprj\usecpp\debug\msword.tlh 19951
Error 78 fatal error C1903: unable to recover from previous error(s); stopping compilation e:\temp\tempprj\usecpp\debug\msword.tlh 19951