Я уже совершенно не врубаюсь! Написал самую простую программу и ничего не работает! Помогите пожалуйста, буду очень признателен!
Вот код DLL:
Цитата:
#define _DLLMAINCPP
#include "stdafx.h"
#pragma hdrstop
#ifdef _MANAGED
#pragma managed(push, off)
#endif
BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
#ifdef _MANAGED
#pragma managed(pop)
#endif
#include <string>
#include <iostream>
using namespace std;
bool GetConfPNG(){return true;}
|
Видите? Одна простейшая функция...
Код AS2:

Код AS1/AS2:
stop();
var dllPath:String = "mydll.dll";
btn.onRelease = function()
{
StartBtn = !StartBtn
if(StartBtn == true)
{
var mydll = new mdm.DLL(dllPath)
if (!mydll.isLoaded)
{
out.text = "Dll load failed!"
mdm.prompt("Dll load failed!")
}
else
{
out.text = "Dll loaded!"
mdm.prompt("Dll loaded!")
}
mydll.clear();
var myReturn = mydll.call("boolean", "GetConfPNG")
out.text += newline + "myReturn = " + myReturn
}
else
{
out.text = ""
}
}
При компиляции в mdm Zinc подключаю mdm_dll. По нажатию кнопки получаю:
Цитата:
Dll loaded!
myReturn = null
|
Меняю var dllPath:String = "mydll.dll"; на какой-нибудь "bla-bla.dll" результат тот же! Dll loaded! Да как? ее не существует! Где мой true? Помогите пожалуйста!
P.S.: Функция объявлена на Экспорт в mydll.h, но и extern "C" __declspec(dllexport)bool GetConfPNG(){return true;} не меняет ситуации.