H
hisman
Unregistered / Unconfirmed
GUEST, unregistred user!
library dimedll;
uses
ShareMem,
SysUtils,
Classes;
{$R *.res}
type typedime=array of string;
function zh( str:string; var sz:typedime ):integer;stdcall;
var
temp :string;
a_Stringlist :TStringList;
i:integer;
begin
try
a_Stringlist:=TStringList.Create;
temp:=str;
i:=pos('|', temp);
while i<>0 do begin
a_StringList.add(copy(temp, 1, i - 1));
temp := copy(temp, i + 1, length(temp) - i);
i:=pos('|', temp);
end;
i:=a_stringlist.Count;
setlength(sz,i);
for i:=low(sz) to high(sz) do
begin
sz:=a_stringlist.Strings;
end;
result:=1;
finally
a_stringlist.Free;
end;
end;
exports zh;
begin
end.
以上的DLL功能是输入一个串例如'ww|t|6|U|' ,用一个动态数组存储各个'|'之间的串值
我在程序中调用时,可以正常使用,但退出程序时总出现错误,错误提示如下
Project py.exe raised exception class EInvalidPointer with message
'Invalid pointer operation'.process stopped.Use Step or Run to continue
这可如何是好????????
我是在DELPHI下写的DLL ,在DELPHI 中使用尚且如此,但实际上我需用VF来调用此
DLL 库,如了解请一并告知( 急 )
uses
ShareMem,
SysUtils,
Classes;
{$R *.res}
type typedime=array of string;
function zh( str:string; var sz:typedime ):integer;stdcall;
var
temp :string;
a_Stringlist :TStringList;
i:integer;
begin
try
a_Stringlist:=TStringList.Create;
temp:=str;
i:=pos('|', temp);
while i<>0 do begin
a_StringList.add(copy(temp, 1, i - 1));
temp := copy(temp, i + 1, length(temp) - i);
i:=pos('|', temp);
end;
i:=a_stringlist.Count;
setlength(sz,i);
for i:=low(sz) to high(sz) do
begin
sz:=a_stringlist.Strings;
end;
result:=1;
finally
a_stringlist.Free;
end;
end;
exports zh;
begin
end.
以上的DLL功能是输入一个串例如'ww|t|6|U|' ,用一个动态数组存储各个'|'之间的串值
我在程序中调用时,可以正常使用,但退出程序时总出现错误,错误提示如下
Project py.exe raised exception class EInvalidPointer with message
'Invalid pointer operation'.process stopped.Use Step or Run to continue
这可如何是好????????
我是在DELPHI下写的DLL ,在DELPHI 中使用尚且如此,但实际上我需用VF来调用此
DLL 库,如了解请一并告知( 急 )