передача массивов и переменных по указателям в импортированные из DLL функции

 

Доброго, братцы...

Вот в чем вопрос, собственно, если в импортированную из DLL функцию передать массив через указатель, то с ним можно прекрасно таки работать. А если передать int - то получается крах терминала:


функция на C++ (пользую vc2005):

#define FEXP __declspec(dllexport)

... все остальные потроха ...

FEXP void __stdcall tFunc (int *lParam)
{
  *lParam++;
  return;
}


вызов оной из MQL :

#import "mydll.dll"
void tFunc(int& x);
#import

int init {
  int x = 3;
  tFunc(x);      // вот тут x непременно должен начать равнятся 4;
  return(0)
}


ага... Такое вот обращение к значению приводит к краху терминала. Это моя мало-мало читать мануал или это моя много-много хотеть?