写dll时有哪些需要注意的呢?我一段代码运行正常,封装到dll出现"invalid pointer operation"(200分)

  • 主题发起人 主题发起人 zzutlink
  • 开始时间 开始时间
Z

zzutlink

Unregistered / Unconfirmed
GUEST, unregistred user!
请大家帮忙,代码如下
function proc1(s1,s2: string): string;
var
tmp1,tmp2:string;
len1,len2,i,j:Integer;
begin
len1:=Length(s1);
len2:=Length(s2);
SetLength(tmp1,len1)
j:=1;
for i:=1 to len1 do
begin
tmp1 := Chr(Ord(s1)+Ord(s2[j]))
Inc(j)
if j = len2+1 then j := 1
end;
Result := tmp1
end;
恳请哪位帮我改成可以封装到dll的代码,谢谢。
 
请大家帮忙
 
/////////////////////////////////////
DLL //动态连接库

uses
ShareMem,
...
exports proc1;
///////////////////////////
pCallDll //调用的主程序
program PcallDll;
uses
ShareMem,
...

/////////////////////////////
 
楼上的同志能解释一下么/谢谢
 
我用了你的方法之后调用时正确了,但关闭调用程序是发生“应用程序错误”的提示
why?
 
我试了试,在调用的程序中加入了sharemem就会出这个错,是我机器的问题么?
 
program Project1;
uses
sharemem,//注意:是在这里加,而不是在unit1里
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
 
接受答案了.
 
后退
顶部