至于你说枝老的定义类型问题,pb对底层支持的不是很好,但是基本按键响应有专门的窗体事件可以调用,pb没有字符变量,能够直接定义字符串或者数组
比如你的消息代码是'岩册0xabc',在pb里面简单定义一个 string a就行了
直接赋值a = '0xabc'比C语言简单多了
还有,pb没有指针、堆栈之类的概念,你就用word的概念处理,一段话或者几个字,直接处理,不需要那些复杂的循环、链表之类的
需要替换、粗搭宏查找、分割、都有对应的函数,和用word很像
&是传递时按照地址传递,对应pb中的ref(即reference),pb默认是按照值传递的,所以传递地址,需在参数前加ref函数int _stdcall getinfo如果有返回值,比如int
function int int _stdcall getinfo(long dev, ref basic_info info,ref ulong serialno) library '动态库名称.dll'
无返回值的情况
subroutine int _stdcall getinfo(long dev, ref basic_info info,ref ulong serialno) library '动态库名称.dll'
注:动态库需要放置程序运行根目唤顷录或者system32目录下,否则可脊哗能需要输入完整路径,详细使用和野陆方法可查看pb自带帮助或者参考手册
1. 用VC创建DLL
在VC 6.0中可以用“MFC AppWizard”自动生成“Win32 DLL”和“MFC AppWizard DLL”。启动VC之后,从“File/New”菜单项,选择“New”对话框中的“Projects”标签,选择新项目为“MFC AppWizard(DLL)”,可输入工程名为testdll,然后点击“OK”按钮,d出选择DLL类型对话框后,再选择DLL类型为:贺雀Regular DLL With MFC Statically Linked,最后点击“Finish”按钮。这样,AppWizard将自动创建一个包含基本要素的DLL框架,接着手工添加相关的代码。
2. 打开testdll.cpp文件,添加如下语句
int giTrcFlag=0/* 日志标志 */
extern "C" __declspec(dllexport) int PASCAL SetTrace(void)
{
::MessageBox(NULL, "跟踪信息:", "开启日志禅肆早标志", MB_OK)
giTrcFlag = 1
return 0
}
extern "C" __declspec(dllexport) int PASCAL ClearTrace(void)
{
::MessageBox(NULL, "跟踪信息:", "关闭日志标志", MB_OK)
giTrcFlag = 0
return 0
}
接着打开testdll.def文雹逗件,在EXPORTS下输入函数说明,文件内容如下:
LIBRARY “pbdll”
DESCRIPTION ‘pbdll Windows Dynamic Link Library’
EXPORTS
Explicit exports can Go here
SetTrace @1
ClearTrace @ 2
最后编译生成动态链接库testdll.dll。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)