vb 调用delphi写的dll
delphi中的DLL中的声明原码如下:
这里声明了输出性参数分别为数字与字符类型
library dll1;
uses
SysUtils,
Classes;
{$R *.res}
Function mymax(x, y: Integer; out jj: Integer; out abc: PChar): Integer; stdcall;
begin
jj := x * y;
abc := PChar(StrPas(abc) + '这是传出的');
if X > Y then
Result := X
else
Result := Y;
end;
exports mymax;
begin
end.
vb中的调用程序如下:
Private Declare Function mymax Lib "C:\lx\delphi\lx1\dll1.dll" (ByVal sj1 As Long, ByVal sj2 As Long, ByRef sj3 As Long, ByRef s1 As String) As Long
Private Sub Command1_Click()
Dim s_t As String
Text3.Text = ""
sj3_v = 0
s_t = "测试输入:"
Text3.Text = mymax(Val(Text2.Text), Val(Text1.Text), sj3_v, s_t)
Print (Str(sj3_v) + s_t)
End Sub
相关文档:
<1>利用Unit的
Initalization与Finalization这两个小节
可以在Unit的这两个小节中安排Unit的进入和退出,但是
Program
与
Library并没有这两个部分,所以只能写在Unit中。
<2>利用ExitProc变量
在Library的begin
..end.中间是可以写代码
的,
这里可以放置
DLL初始化代码
。如果想要做善 ......
Delphi 数据类型列表
分类
范围
字节
备注
简单类型
序数
整数
Integer
-2147483648 .. 2147483647
4
有符号32位
Cardinal
0 .. 4294967295
4
无符号32位
Shortint
-128 .. 127
1
有符号8位
Smallint
-32768 .. 32767
2
有符号16位
Longint
-2147483648 .. 2147483647
4
有符号32位
Int64
- ......
Delphi编写系统服务六:在服务中使用COM组件 收藏
在服务中调用COM组件不能像在桌面程序中直接创建,在每次创建之前先调用CoInitialize(nil),释放的时候调用CoUninitialize。例如:调用ADO组件
var
Qry: TADOQuery;
begin
CoInitialize(nil);
Qry := TADOQuery.Create(nil);
tr ......
Delphi编写系统服务二:系统服务和桌面程序的区别 收藏
Windows 2000/XP/2003等支持一种叫做“系统服务程序”的进程,系统服务和桌面程序的区别是:
系统服务不用登陆系统即可运行;
系统服务是运行在System Idle Process/System/smss/winlogon/services下的,而桌面程序是运行在Explorer下的;
......
比如操作
CSDN的登录
先用WebBrowser定位到登录页面
WebBrowser1.Navigate('http://passport.csdn.net/UserLogin.aspx?from=http://community.csdn.net/');
然后,看其HTML源代码,发现
名字为 ctl00$CPH_Content$tb_LoginNameOrLoginEmail的元素就是 其用户名的输入框了。
此时
使用
(WebBrowser1.Documen ......