c isn't null. c contains a valid memory address and according to the Visual Studio debugger it contains the addresses of virtual functions. The same source is working when compiled with GCC. The difference may be is in the calling conventions or i don't know. But there is no problem in the source. The problem is in the dll that is used i think.
status
Posts
-
Link DLL with Visual C++ not working -
Link DLL with Visual C++ not workingOk i will explain in more details: So in the header file i have a definition of an abstract class wich has onlu pure virtual methods. In the DLL i have only one export function which is returning a pointer to an instance of this class or more precisely some class that inherits this abstract class. The program is something like:
SomeClass* c = ImportedMethod(); c->someMethod(); **// Here the program crashes**
It looke strange i know, the problem is that i don't hava the source of the DLL neither i have any more information about it. Only those header:class SomeClass { public: virtual void someMethod() = 0; } extern "C" __declspec (dllexport) SomeClass * ImportedMethod();
-
Link DLL with Visual C++ not workingI have the following problem: I have a dll compiled with MinGW and a header file that describes the DLL exports. I want to use this DLL in a Visual C++ projects. Since i don't have a LIB file and i don't want to use LoadLibrary function i created a DEF file. The contents of the EXPORTS section of the DEF file i toke from DUMPBIN /EXPORTS [the_dll], so it should be ok. After i created the lib file i included it in my Visual C++ project and the project has compiled successfully. But when i executed it, the application crashed. This application is working when compiled with GCC and the same DLL. So is the problem somewhere in MinGW or what? May be i must pass some special parameters to cl.exe or link.exe Experts please help!
-
Catch program terminationHello, I want to know is it possible to catch when my c++(mfc) application is terminated (by other process or by itself), and can i retrieve the name of the process who killed my app. I need this for debug reasons. Thanks!
-
SendMessage return valueI found my problem. It is in the SendMessage declaration. The parameters should be IntPtr instead long and int:
[DllImport("user32.dll", SetLastError=true, EntryPoint="SendMessage", CharSet = CharSet.Auto)] public static extern IntPtr SendMessage( IntPtr hWnd, [MarshalAs(UnmanagedType.U4)] int Msg, IntPtr wParam, IntPtr lParam);
-
SendMessage return valueHmm, may be the problem isn't in the returned type. But when i try this code in c++ it is working and the return value is correct, but in .NET i'm always receiving 20496
-
SendMessage return valueHello, i'm using SendMessage winapi function in my program like this:
[DllImport("user32.dll", SetLastError=true, EntryPoint="SendMessage", CharSet=CharSet.Auto)] public static extern IntPtr SendMessage( IntPtr hWnd, [MarshalAs(UnmanagedType.U4)] int Msg, long wParam, int lParam);
So i'm executing it and i want to use the returned value. But it seems that the returned value is a pointer. How can i get the value? The code is like this:IntPtr hWnd = FindWindow("Winamp v1.x", null); IntPtr lResult = SendMessage(hWnd, WM_WA_IPC, 0, IPC_GETEQDATA);
-- modified at 9:38 Thursday 6th October, 2005 -
Compact Framework BitmapsHi, could anyone tell me why when i draw any image in pocket pc or smartphone application the white color is transformed from 255,255,255 to 255,251,255 ( and many other colors are transformed to something different ). This is happen no matter what image format i'm using, what is the bpp and whether i'm testing on the emulator or the real device. This problem appears only if i'm drawing images, if i'm drawing some graphic primitives such as rectangles etc. the colors are ok. Please help!