Today i was trying to create the form in dll.. Here all ok!
I write code to modify memory, compile and 33 errors:
Code form1.cpp:
Code:
#include "Form1.h"
#include <Windows.h>
using namespace TestCE;
[STAThreadAttribute]
void Main()
{
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Application::Run(gcnew Form1());
}
maindll.cpp:
Code:
#include <Windows.h>
#include "link.h"
void WINAPI myThread(){} //
bool WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpReserved)
{
switch(dwReason)
{
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hModule);
if (CreateThread(0,0, (LPTHREAD_START_ROUTINE)Main, 0,0,0) == 0)
{
return false;
}
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
}
return true; //prima avevo dimenticato questo ecco perché non andava a
}
Code:
void Main();
Code:
Errore 1 error C2872: 'IDataObject': simbolo ambiguo C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 5934 Errore 2 error C3699: '*': impossibile utilizzare questo riferimento indiretto con il tipo 'IDataObject' C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 5934 Errore 3 error C2371: 'IDataObject': ridefinizione. Tipi di base differenti. C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 5948 Errore 4 error C2872: 'IDataObject': simbolo ambiguo C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 6110 Errore 5 error C2872: 'IDataObject': simbolo ambiguo C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 6123 Errore 6 error C2872: 'IDataObject': simbolo ambiguo C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 6136 Errore 7 error C2872: 'IDataObject': simbolo ambiguo C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 6171 Errore 8 error C2872: 'IDataObject': simbolo ambiguo C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 6184 Errore 9 error C2872: 'IMessageFilter': simbolo ambiguo C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 6282 Errore 10 error C3699: '*': impossibile utilizzare questo riferimento indiretto con il tipo 'IMessageFilter' C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 6282 Errore 11 error C2371: 'IMessageFilter': ridefinizione. Tipi di base differenti. C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 6328 Errore 12 error C2872: 'IDataObject': simbolo ambiguo C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 12671 Errore 13 error C2872: 'IDataObject': simbolo ambiguo C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 12677 Errore 14 error C2872: 'IDataObject': simbolo ambiguo C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 12682 Errore 15 error C2872: 'IDataObject': simbolo ambiguo C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 12688 Errore 16 error C2872: 'IDataObject': simbolo ambiguo C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 12693 Errore 17 error C2872: 'IDataObject': simbolo ambiguo C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h 12700 Errore 18 error C2872: 'IDataObject': simbolo ambiguo c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h 374 Errore 19 error C2872: 'IDataObject': simbolo ambiguo c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h 1151 Errore 20 error C2872: 'IDataObject': simbolo ambiguo c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h 1157 Errore 21 error C2872: 'IDropTarget': simbolo ambiguo c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h 3288 Errore 22 error C3699: '*': impossibile utilizzare questo riferimento indiretto con il tipo 'IDropTarget' c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h 3288 Errore 23 error C2371: 'IDropTarget': ridefinizione. Tipi di base differenti. c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h 3328 Errore 24 error C2872: 'IDataObject': simbolo ambiguo c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h 3332 Errore 25 error C2872: 'IDataObject': simbolo ambiguo c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h 3345 Errore 26 error C2872: 'IServiceProvider': simbolo ambiguo c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h 96 Errore 27 error C3699: '*': impossibile utilizzare questo riferimento indiretto con il tipo 'IServiceProvider' c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h 96 Errore 28 error C2371: 'IServiceProvider': ridefinizione. Tipi di base differenti. c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h 103 Errore 29 error C2872: 'IServiceProvider': simbolo ambiguo c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h 120 Errore 30 error C2872: 'IServiceProvider': simbolo ambiguo c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h 235 Errore 31 error C2872: 'IServiceProvider': simbolo ambiguo c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h 242 Errore 32 error C2872: 'IServiceProvider': simbolo ambiguo C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\urlmon.h 5854 Errore 33 error C2872: 'IServiceProvider': simbolo ambiguo C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\urlmon.h 5856
Code:
1>------ Inizio compilazione: Progetto: TestCE, Configurazione: Debug Win32 ------ 1>Compilazione in corso... 1>Form1.cpp 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5934) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(251): System::Windows::Forms::IDataObject IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5934) : error C3699: '*': impossibile utilizzare questo riferimento indiretto con il tipo 'IDataObject' 1> il compilatore sta sostituendo '*' con '^' per continuare l'analisi 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) : error C2371: 'IDataObject': ridefinizione. Tipi di base differenti. 1> C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(251): vedere la dichiarazione di 'IDataObject' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6110) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6123) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6136) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6171) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6184) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6282) : error C2872: 'IMessageFilter': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(263): System::Windows::Forms::IMessageFilter IMessageFilter' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IMessageFilter' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6282) : error C3699: '*': impossibile utilizzare questo riferimento indiretto con il tipo 'IMessageFilter' 1> il compilatore sta sostituendo '*' con '^' per continuare l'analisi 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6328) : error C2371: 'IMessageFilter': ridefinizione. Tipi di base differenti. 1> C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(263): vedere la dichiarazione di 'IMessageFilter' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(12671) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(12677) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(12682) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(12688) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(12693) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(12700) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h(374) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h(1151) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h(1157) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h(3288) : error C2872: 'IDropTarget': simbolo ambiguo 1> potrebbe essere 'c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h(173): System::Windows::Forms::IDropTarget IDropTarget' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDropTarget' 1>c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h(3288) : error C3699: '*': impossibile utilizzare questo riferimento indiretto con il tipo 'IDropTarget' 1> il compilatore sta sostituendo '*' con '^' per continuare l'analisi 1>c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h(3328) : error C2371: 'IDropTarget': ridefinizione. Tipi di base differenti. 1> c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h(173): vedere la dichiarazione di 'IDropTarget' 1>c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h(3332) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>c:\program files\microsoft sdks\windows\v6.0a\include\oleidl.h(3345) : error C2872: 'IDataObject': simbolo ambiguo 1> potrebbe essere 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948): IDataObject' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll: System::Windows::Forms::IDataObject' 1>c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(96) : error C2872: 'IServiceProvider': simbolo ambiguo 1> potrebbe essere 'c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(53): System::IServiceProvider IServiceProvider' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll: System::IServiceProvider' 1>c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(96) : error C3699: '*': impossibile utilizzare questo riferimento indiretto con il tipo 'IServiceProvider' 1> il compilatore sta sostituendo '*' con '^' per continuare l'analisi 1>c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(103) : error C2371: 'IServiceProvider': ridefinizione. Tipi di base differenti. 1> c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(53): vedere la dichiarazione di 'IServiceProvider' 1>c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(120) : error C2872: 'IServiceProvider': simbolo ambiguo 1> potrebbe essere 'c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(103): IServiceProvider' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll: System::IServiceProvider' 1>c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(235) : error C2872: 'IServiceProvider': simbolo ambiguo 1> potrebbe essere 'c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(103): IServiceProvider' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll: System::IServiceProvider' 1>c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(242) : error C2872: 'IServiceProvider': simbolo ambiguo 1> potrebbe essere 'c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(103): IServiceProvider' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll: System::IServiceProvider' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\urlmon.h(5854) : error C2872: 'IServiceProvider': simbolo ambiguo 1> potrebbe essere 'c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(103): IServiceProvider' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll: System::IServiceProvider' 1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\urlmon.h(5856) : error C2872: 'IServiceProvider': simbolo ambiguo 1> potrebbe essere 'c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(103): IServiceProvider' 1> o 'c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll: System::IServiceProvider' 1>Il log di compilazione è stato salvato in 'file://c:\Users\Dr0p3r\Documents\Visual Studio 2008\Projects\TestCE\TestCE\Debug\BuildLog.htm' 1>TestCE - 33 errore/i, 0 avviso/i ========== Compilazione: 0 completate, 1 non riuscite, 0 aggiornate, 0 ignorate ==========






