DELPHI 写 标准接口DLL
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DELPHI 写 标准接口DLL相关的知识,希望对你有一定的参考价值。
library Project1;
Important note about DLL …. …. …. …. …. …. …. …. …. 省略
uses
SysUtils,
Classes;
$R *.res
begin
end.
//上面这段是我点新建工程DLL DELPHI默认出现的
procedure OPENHE(b: Integer);
VAR
I: INTEGER
begin
i:=1
OPENHE:= PCHAR(b+i)
end.
//这段我知道有问题,我是学VB的,接触DELPHI不到一天......语法什么都不清楚..
我想写个标准接口的DLL
函数返回值OPENHE = 参数b + 变量 i
需要怎么改呢?
function OPENHE(b: Integer): integer; stdcall;
var
i: Integer;
begin
Result := b + i;
end;
VB 函数声明和调用
Public Declare Sub OPENHE Lib "Project1" (ByVal b As Long) as Long追问
还是有点错误呢.....不清楚什么情况,如果可以的话 能否留个QQ请教一下呢?
追答什么错误,如果出现错误应该与上面的代码无关,而是你其缺少其他东西,比如没有声明 exports。
在Delphi代码最后应该有:
unit test1;
implementation
function OPENHE(b: Integer): integer; stdcall;
var
i: Integer;
begin
Result := b + i;
end;
exports
OPENHE;
end.
VAR
I: INTEGER
begin
i:=1
result := PCHAR(inttostr(b+i)); //
end. 参考技术C procedure OPENHE(b: Integer);stdcall
VAR
I: INTEGER
begin
i:=1
OPENHE:= PCHAR(b+i)
end.
exports
OPENHE; 参考技术D 2楼已答。
delphi 调用 c语言 dll
我用C语言写了一个Dll,编译成功。
是一个非常简单的加密算法,代码如下:
#include<stdio.h>
__declspec(dllexport) void Encipher(char a[16])
int i,len;
int s=1;
len=strlen(a);
for(i=0;i<len;i++)
a[i]=a[i]+s;
s=s+2;
现在我在Delphi中如何调用它并实现这样的功能,点击Button1,获取edit1.text的内容,存于数组中,然后调用Dll中的函数,进行简单加密,然后将结果赋给edit2.text。
型参了吧。
不管怎么说,照着你的要求做了 delphi程序。
type
TArrChar = array[0..15] of char;
procedure Encipher(a:TArrChar);cdecl;external 'xxx.dll';
implementation
$R *.dfm
procedure TForm1.Button1Click(Sender: TObject);
var
a:TArrChar;
begin
CopyMemory(@a,@Edit1.text[1],16);
Encipher(a);
Edit2.Text:=a;
end; 参考技术A 用delphi写dll啊,那样调用方便些。看不懂C语言的代码
以上是关于DELPHI 写 标准接口DLL的主要内容,如果未能解决你的问题,请参考以下文章