Создать дополнительные функции для использования в Avenue можно только на C++. К сожалению DLL созданые на VB работать не будут. Итак, создаем Win32 Dll используя AppWizard.
На вопрос о типе отвечаем Simple.Dll. Пишем код и собираем проект.
// TestDLL.cpp : Defines the entry point for the DLL application. // #include "stdafx.h" BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { return TRUE; } extern "C" { __declspec(dllexport) void ShowMsg(char* chrMessage) { char chrTitle[30] = "Windows API MessageBox"; MessageBox(NULL, chrMessage, chrTitle, MB_APPLMODAL); } }
Все можно вызывать из Avenue
myDLL = DLL.Make("c:\TestDLL.dll".AsFileName) message = DLLProc.Make(myDLL, "ShowMsg", #DLLPROC_TYPE_VOID, { #DLLPROC_TYPE_STR}) DLL.SetRefresh(True) message.Call({"HELLO_VC"})
А вот результат выполнения.
Мы создали объект DLL, указатель на функцию и вызвали саму функцию.