LabWindows/CVI调用DLL实用例程(菜农HotPower)
LabWindows/CVI调用DLL实用例程(菜农HotPower)/*-------------------------------------------------------------------------------------------------------*//* LabWindows/CVI调用DLL实用例程(菜农HotPower) */
/*本例程是在CVI自带的simple添加调用mydll.dll的函数MyDLLCdeclFunction() */
/*网上和CVI的例程很少,一般为调用LIB实例,但很多dll都是以*.dll提供的,故本例程很实用。 */
/*本例程主要是调用了三个Windows API函数LoadLibrary(),GetProcAddress(),FreeLibrary() */
/*菜农HotPower@126.com2008.5.27于西安大雁塔菜地 */
/*-------------------------------------------------------------------------------------------------------*/
/* This is a simple project that will call
* functions from an external DLL */
//#define__cplusplus
#include <stdio.h>
#include <windows.h>//需要的API函数实际在winbase.h中定义
#include <cvirte.h> /* Needed if linking in external compiler; harmless otherwise */
#include <formatio.h>
#include <userint.h>
#include "mydll.h"
/*-------------------------------------------------------------------------------------------------------*/
typedef long int DLLEXPORT (*DLLCdeclFunction)(char *);//定义函数指针
/*-------------------------------------------------------------------------------------------------------*/
int status;
char message;
int main (int argc, char *argv[])
{
/*-------------------------------------------------------------------------------------------------------*/
HMODULE hinstLib;
DLLCdeclFunction DLLFunction;
BOOL fFreeResult, fRunTimeLinkSuccess = FALSE;
/*-------------------------------------------------------------------------------------------------------*/
if (InitCVIRTE (0, argv, 0) == 0) /* Needed if linking in external compiler; harmless otherwise */
return -1; /* out of memory */
/* Tell the dll to run it's user interface */
RunDllUI();
/*-------------------------------------------------------------------------------------------------------*/
// Get a handle to the DLL module.
hinstLib = LoadLibrary("mydll.dll");//装载动态链接库mydll.dll
// If the handle is valid, try to get the function address.
if (hinstLib != NULL)//成功装载动态链接库mydll.dll
{
DLLFunction = (DLLCdeclFunction)GetProcAddress(hinstLib, (LPCSTR)"MyDLLCdeclFunction");//取函数指针地址
// If the function address is valid, call the function.
if (fRunTimeLinkSuccess = (DLLFunction != NULL))//dll中有函数MyDLLCdeclFunction()
{
Fmt(message, "message via DLL function\n");
status = (long int)DLLFunction (message);//调用dll函数!!!
}
// Free the DLL module
fFreeResult = FreeLibrary(hinstLib);//卸载动态链接库mydll.dll
}
// If unable to call the DLL function, use an alternative
if (! fRunTimeLinkSuccess)
{
Fmt(message, "message via alternative method\n");
MessagePopup ("CVI MessagePopup ", message);
}
/*-------------------------------------------------------------------------------------------------------*/
点击下载工程源码: cvidlldemo.rar
http://blog.ednchina.com/hotpower/119234/message.aspx
[ 本帖最后由 hotpower 于 2008-5-27 21:38 编辑 ] 晕!!!这里上传不了大文件!!!
还改菜农的链接!!!这种论坛实在封建!!!怪不得人气不旺!!! 晕!!!
1.42M这里能上传吗??? 抱歉,没有改您链接,我来说明一下理由:
某站的人员一直将本站的网友踢出QQ群,本站只能封他们网址,然后一段时间他们没有踢了,我们解开了过滤,最近又连续踢我们网站网友出群!无任何理由!并且没有发任何广告或不相关违反群规则的消息,就遭遇这样的待遇,不知道如果换作是您,您会如何处理呢?
在这些事之前的某些事就不用重提,关于以前转贴很多并删除本站原创信息的事情!对您的贴子的问题请您理解,谢谢!这个是系统自动过滤!来我们网站我们欢迎,但不希望有攻击!:) 我们努力在做好,而且会越来越好!
[ 本帖最后由 cpubbs 于 2008-5-27 22:57 编辑 ]
站长说的有些道理,俺把文件压缩了~~~
本来是1.4M以上,但这里上传太小,自己的博客有1M限制,无奈....最后也被...
俺把文件压缩了,可以在那里下载...
我晕呀~~~好象进入了封建社会... 多谢理解,我们论坛是可以上传2000K内的附件的,不行的话压缩的时候分卷就可以的,我上传了1。4M以上的文件是没有问题,我专门测试过了!谢谢!现在再取消过滤,如果他们再这样继续一次,永久性地过滤掉他们的网址,真的感觉挺可恶的!:( 帮助不小,顶!
有失必大得~~~
当链接都指向本站又有什么联想???封建的思想令人作呕... 针对您的意见,我们再次已经解除过滤,不是我们作出这样封建的事情在先,是被人无任何理由踢出后的做法!您可以链到任意地方,为什么ENDCHINA我们不滤掉,21IC我们不滤掉,偏偏滤某个站点呢?如果不是他们这样恶性的行为,我们会这样处理吗?是没有任何违规情况下被踢!请老大见谅!
人的容忍是有限度的! 您换个角度想一下,您写的程序,被人删除是您做的,然后说是他做的!这个过了,没事了,自己也觉得无所谓了!然后,在您没有做错事情,被人一再欺压!一再踢,一次可以忍,又再来,再忍,再再来,您怎么处理?换个位置为别人想想吧!我一直很尊重和敬重您,也一直对您的技术很钦佩,同样希望得到您的尊重!我们也是一个人!普通的人!如果是我做错了,您踢我没有任何意见,关键是没有任何警告,没有任何违规的情况下就把网站人员踢掉N次!
页:
[1]