各位大侠,我想用DELPHI做一些DLL供其他应用程序(不一定是用DELPHI开发的)用,
请问如下的函数编译成DLL后是否符合WIN32的规范,即是否可被任何WIN32应用
程序所调用。
先谢谢! function my1(pS,pS1:PChar):PChar;stdcall;
var vS,vS1,vResult:String;
begin
vS := pS;
vS1 := pS1;
// 在这儿对vS,vS1进行任何可能的操作
vResult := vS + vS1;
Result := PChar(vResult); // 返回操作后的结果
end;
请问如下的函数编译成DLL后是否符合WIN32的规范,即是否可被任何WIN32应用
程序所调用。
先谢谢! function my1(pS,pS1:PChar):PChar;stdcall;
var vS,vS1,vResult:String;
begin
vS := pS;
vS1 := pS1;
// 在这儿对vS,vS1进行任何可能的操作
vResult := vS + vS1;
Result := PChar(vResult); // 返回操作后的结果
end;
program PlusPro;uses
Sharemem, //引用Sharemem.pas单元
Forms,
PlusUnit in 'PlusUnit.pas' {frmMain};{$R *.res}--------------
Dll中
uses
Sharemem, //引用Sharemem.pas单元
SysUtils,
Classes,
Main in 'Main.pas';
这位大侠说的对。
在用DELPHI开发DLL和应用程序时,可以在DLL和应用程序的工程文件中引用Sharemem.pas
单元来达到String串在DLL和应用程序间的互传。我想借问一下,用DELPHI开发的DLL怎么才能被其他任何win32开发应用程序所调用,而不
存在什么String串传递参数时出现问题?
function PCharWithPad(BufferIn,BufferOut:PChar;len:integer):LongBool;stdcall;
这位大侠,能否给我一个简单的例子。要求如下: 返回的字符串的长度只可能在DLL中知道,在调用程序中不可能知道,怎么做?
function my1(pS,pS1:PChar):PChar;stdcall;
var vS,vS1,vResult:String;
begin
vS := pS;
vS1 := pS1;
// 在这儿对vS,vS1进行任何可能的操作
vResult := vS + vS1;
Result := PChar(vResult); // 返回操作后的结果
end;
形如上面的函数可否实现?盼赐教!