如何在DLL中返回字符串参数! 我在DLL中写了一个Procedure但是不知道如何返回一个字符串参数??请高手们帮帮忙!小弟先谢谢了!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure x(var str:string)begin ...end;试试看。 这样不行!这样:procedure x(var str:pchar)begin str:='Test';end;也不行! 用PAnsiChar代替string,如下所示:dll中:function GetEnStr(const ACnStr: string): PAnsiChar; stdcallexe中:leEnName.Text := StrPas(GetEnStr(leCnName.Text)); 我想用procedure x(var str:pchar);可以返回参数吗?? 我想搂主说的返回参数应该是返回值吧!你用过程procedure x(var str:pchar)是没有返回值得!你如果要用到返回值的话就应该定义成:function x(参数列表):PAnsiChar;stdcall 要用的话你就看赋值给谁了!怎么定义你应该知道得吧! 不是的:这样你会明白点:procedure x(var s1,s2:pchar)begin s1:='Test1'; s2:='Test2';end;想返回两个值! 可以啊:dll:... procedure x(var s1,s2: PAnsiChar); stdcall begin s1 := PAnsiChar('Test1'); s2 := PAnsiChar('Test2'); end; exports x;...exe:...procedure x(var s1, s2: PAnsiChar); stdcall; external 's.dll';{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);var s1, s2: PAnsiChar;begin x(s1, s2); ShowMessage(StrPas(s1) + ' ' + StrPas(s2));end;... 谁有mapx的demo?如何使用mpax,如何只显示某片区域的地图? 用Application.CreateForm创建的主窗口能否自定义构造函数? DBEdit的问题? 菜鸟问题,如何阻止form1运行?请大人来看看!! 實時進度條?如win os copy file progress bar 如何,让一个自制控件的只读的属性,在属性编辑器中显示出来? 消息传送 Application.terminate不能完全终止程序?!请帮我! 请问哪里有MSComm控件下载 API?CPU?内存?你可知,50? 求delphi2005 下载地址 sizeof的问题.(基础类,在线等.50分)
begin
...
end;
试试看。
这样:
procedure x(var str:pchar)
begin
str:='Test';
end;
也不行!
dll中:function GetEnStr(const ACnStr: string): PAnsiChar; stdcall
exe中:leEnName.Text := StrPas(GetEnStr(leCnName.Text));
procedure x(var str:pchar);
可以返回参数吗??
这样你会明白点:
procedure x(var s1,s2:pchar)
begin
s1:='Test1';
s2:='Test2';
end;
想返回两个值!
dll:
...
procedure x(var s1,s2: PAnsiChar); stdcall
begin
s1 := PAnsiChar('Test1');
s2 := PAnsiChar('Test2');
end; exports
x;
...
exe:
...
procedure x(var s1, s2: PAnsiChar); stdcall; external 's.dll';{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
s1, s2: PAnsiChar;
begin
x(s1, s2);
ShowMessage(StrPas(s1) + ' ' + StrPas(s2));
end;
...