vb在调用delphi写的dll文件时,提示有内存错误,其中有pchar,怎样释放内存?拜托
解决方案 »
- 爲什麽將05248寫入表中確變成了5248?麻煩大家指點一下
- 救命呀,一个关于自定公式解析的问题,救救我呀,问题解决马上给分,
- 帮初学者解答一个问题,OK!
- 请求思路,一个DELPHI程序要调用DLL,而DLL中的函数名,参数个数,参数类型为不定,要调用的DLL中的函数名、参数个数、参数类型要可以在
- 在线等待,自定义控件中含有三个基本控件,如何控制谁获取焦点???
- 一个关闭窗口的问题
- 在打印时如何控制一整页只打打印一条一记录???
- delphi6 线程与VCL同步后,挂起出问题.Help!
- 谁做过人事管理系统?可否给些意见?
- 没什么好书买,大家帮忙推荐一下吧。
- SQL查询的问题!
- 刚刚遇到的一个新问题.
大家好,能不能帮我看看,这段代码function DoTest( AConn,S:pchar):pchar;stdcall;beginwith TForm1.Create(Form1) do
try{ 创建窗体 } GetMem(AConn,512);
getmem(s,512); //new(aconn);
ADOConnection1.ConnectionString:=AConn; { 获得数据库连接的实例 } adoquery1.Connection:=adoconnection1;
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('selec * from a where kahao=:p1);
parameters.ParamByName('p1').Value:=string(s);
open;
Result:=pchar(floattostr(fieldbyname('ye').Value/100));
//Result:=fieldbyname('rq').Value;
end; //form1.ShowModal;
finally
//
FreeMem(s);//这样写吗FreeMem(AConn);//这样写吗
Form1.Free; { 调用结束时销毁窗口 }
end;
end;
例:function BlowFishEncryptStr(EncryptStr: String): Pchar; stdcall;function BlowFishEncryptStr(EncryptStr: String): PChar; //encrypt string
var
Tempstr: string;
tmpBlowfish: TBlowfish;
aResult : array [0..1024]of Char;
begin
try
try
Fillchar(aResult,sizeof(aResult),0);
tmpBlowfish := TBlowfish.create(nil);
Tempstr := '';
if SetupKey(tmpBlowfish) then //(AOwner) then
begin
// encrypt the string
tmpBlowfish.EncString(EncryptStr, TempStr);
end;
StrPcopy(aResult,TempStr);
except
StrPcopy(aResult,EncryptStr);
end;
result := aResult;
finally
FreeAndNil(tmpBlowfish);
end;
end;