library Getvalues;
uses
SysUtils,
Classes,
DbProc in 'DbProc.pas';
{$R *.res}
Exports
GetWrtieValues,
begin
end.unit DbProc;interface
uses
Windows,SysUtils,Classes,DB,ADODB,ActiveX,Variants;
Function GetWrtieValues(LineCode, ModelCode,OperatorCode: Pchar):Pchar;Stdcall;implementation
Function GetWrtieValues(LineCode, ModelCode,OperatorCode: Pchar):PChar;
Begin Result:=LineCode+ModelCode+OperatorCode;
End;
end.如上DLL代码Result只能返回一个值,假设我想要同时返回LineCode+ModelCode,和LineCode+OperatorCode两个值,代码应该怎么写。跪求~~~~
uses
SysUtils,
Classes,
DbProc in 'DbProc.pas';
{$R *.res}
Exports
GetWrtieValues,
begin
end.unit DbProc;interface
uses
Windows,SysUtils,Classes,DB,ADODB,ActiveX,Variants;
Function GetWrtieValues(LineCode, ModelCode,OperatorCode: Pchar):Pchar;Stdcall;implementation
Function GetWrtieValues(LineCode, ModelCode,OperatorCode: Pchar):PChar;
Begin Result:=LineCode+ModelCode+OperatorCode;
End;
end.如上DLL代码Result只能返回一个值,假设我想要同时返回LineCode+ModelCode,和LineCode+OperatorCode两个值,代码应该怎么写。跪求~~~~
Function GetWrtieValues(LineCode, ModelCode,OperatorCode,result1,result2: Pchar):Pchar;Stdcall;函数体里加
result1 := LineCode+ModelCode;
result2 := LineCode+OperatorCode;
TMyVal = Array [1..2] of Pchar;Function GetWrtieValues(LineCode, ModelCode,OperatorCode: Pchar):TMyVal;stdcall; export;
begin
Result[1] := ...;
Result[2] := ...;
end;
Function GetWrtieValues(LineCode, ModelCode, OperatorCode: Pchar): TMyVal;
stdcall; export;
var
aArr: TMyVal;
aPointer: ^TMyVal;
begin
aArr[1] := ...;
aArr[2] := ...;
aPointer := @aArr;
Result := aPointer^;
end;
var
P1,P2:Pchar;
P1 :=GetWrtieValues(...)[1];{第一个值}
P2 :=GetWrtieValues(...)[2];{第二个值}
{当然,LineCode+ModelCode和LineCode+OperatorCode运算过程是自己需要解决的问题}