【发布时间】:2014-01-05 15:30:45
【问题描述】:
我已经厌倦了在代码块中创建一个 dll 文件,然后在我的 powerpoint 演示文稿中使用它。在我下面提到的 dll 文件中,函数的参数包含 (LPCSTR)
void DLL_EXPORT SomeFunction(const LPCSTR sometext)
{
MessageBoxA(0, sometext, " DLL Message ", MB_OK | MB_ICONINFORMATION);
}
在我的PowerPoint文件中,我有
Declare Function DLL_EXPORT _
Lib "myfile.dll" _
Alias "SomeFunction" (???)
当我运行文件时,我得到
因为我不知道如何在 powerpoint 中定义我的函数的参数。我的意思是这部分代码:
Alias "SomeFunction" (???)
【问题讨论】:
-
Declare Function SomeFunction Lib "myfile.dll" Alias "SomeFunction" (ByVal sometext As String)。还要确保你的原生SomeFunction使用 Pascal 调用约定。另请参阅Anatomy of a Declare Statement。 -
我已经使用 ByVal sometext As String 但它不起作用。但我不确定调用该函数。我只是举例:DLL_EXPORT ("Hello World")
-
DLL_EXPORT不是函数名。它是一个 C++ 宏,可以为 DLL 实现和该 DLL 的客户端启用相同的头文件。它可能扩展到extern "C"。调用约定应指定为:DLL_EXPORT void __stdcall SomeFunction(const LPCSTR sometext). -
dll 文件的其余代码是:extern "C" DLL_EXPORT BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { some codes here ... return TRUE; }
-
感谢@IInspectable 的帮助。我从以下电影中得到了一些想法 [youtube.com/watch?v=fzO9L6tlXDI]
标签: c++ dll powerpoint codeblocks declare