namespace ManagerCSharp
{
public static class ManagedClassTest
{
public static void ShowValue(ref int value)
{
DialogResult result = MessageBox.Show("C# Message Box", "C# Message Box", MessageBoxButtons.OKCancel);
if (result == DialogResult.OK)
value = 1;
else
value = 2;
return;
}
}
}
####
public ref class CSharpClass
{
public:
void ShowCSharpMessageBox(int *value)
{
ManagerCSharp::ManagedClassTest::ShowValue(*value);
return;
}
}
__declspec(dllexport) void __stdcall ShowMessageBox2(int *value)
{
CSharpClass myCSharp;
myCSharp.ShowCSharpMessageBox(value);
}
####
use strict;
use Win32::API;
Win32::API->Import('ManagedCPP.dll', 'void __stdcall ShowMessageBox2(int *value);');
my $result;
ShowMessageBox2(\$result);