Source
|
#ifdef FORVBDLL_EXPORTS #define FORVBDLL_API __declspec(dllexport) #else #define FORVBDLL_API __declspec(dllimport) #endif // //エクスポートされた関数のプロトタイプ宣言 // //(Visual Basic呼び出すための手続き) #ifdef __cplusplus extern "C" { #endif FORVBDLL_API LONG __stdcall FuncForVB( LPCSTR strData, LONG longData ); #ifdef __cplusplus } #endif |
|
#include "stdafx.h" #include "ForVbDll.h" BOOL APIENTRY DllMain( HANDLE 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; } //VBから呼び出される関数 FORVBDLL_API LONG __stdcall FuncForVB( LPCSTR strData, LONG longData ) { return 1000; } |
|
'API宣言 Private Declare Function FuncForVB Lib "ForVbDll.dll" Alias "_FuncForVB@8" _ (ByVal strData As String, ByVal longData As Long) As Long Private Sub Command1_Click() 'Dllを呼び出す Text1.Text = FuncForVB("a", 100) End Sub |