DLL issues...

 

Is there some special considerations for compiling DLLs under Visaul Studio 2008 that need to be taken into account? I have used examples from the sample DLL (code, and header), and calls to the functions will not work (127). I have to take out the __stdcall option, and add on the front extern "C" to get the functions to finally be visible by MT4, but then I run into problems when attempting to pass parameters, as MT4 continually bombs, like the stack is not being addressed properly, or something. Is there a specific setting I'm missing in my compiler, or something else I need to be doing under VC 2008?? Any help is appreciated, thank you!

--D

 

Update: I finally figured out that you definitely need to include the .DEF file. You can't just simply rely on the __declspec to take care of making sure the function names are exported correctly. So, problem solved.

--D

 
u should realize that stack is in reverse order of passing variable
 
#include <windows.h>
#pragma once
#define WIN32_LEAN_AND_MEAN      // Exclude rarely-used stuff from Windows headers
#include <windows.h>
#include<iostream>  


# define MT4_EXPFUNC __declspec (dllexport)



extern "C"
{

  MT4_EXPFUNC void __stdcall Hello(char *say)
   { MessageBox(NULL,say,"angry2",NULL); }
}
besides, i use this in vs2008 and error 127 occur
how to amend it ?
i haven't include any header file -- except windows.h
Reason: