求助,在dll中返回一些信息,怎么做,用什么格式(100分)

  • 主题发起人 主题发起人 盛利
  • 开始时间 开始时间

盛利

Unregistered / Unconfirmed
GUEST, unregistred user!
我在dll中返回一些信息,格式比如
id,name,sex等,返回的条数不一定,我用什么格式返回?
用数组吗?
 
TStringList或者TDataSet
 
用字符串,每个信息用回车换行隔开
 
用指针也行吧,象WINDOWS的API很多都是这样的。
 
学api吧,定义一个信息record,然后传送指针就是了。挺好的。
 
[:)]能给个简单例子不?
 
我可以用记录,比如
type
TInfo = record
id: string;
name: string;
sex: string;
end;
但是我要一下返回很多条,而且还是不定数,主要是这个怎么做啊!
 
首先声明我也是用delphi的,但是现在强迫要用C++Builder,我知道用C++可以做到,定义一个链表,
即list,我不太清楚delphi中有没有这个东东。[:)]
 

有的,TList
 
要动态创建啊,厉害厉害。
关注。
 
用链表也可以,DELPHI一样支持,
 
方法可以在dll中返回一个链表,大致如下:
type
TInfo = record
id: string;
name: string;
sex: string;
end;
var
MyInfo: ^TInfo;
MyList: TList;
i: Integer;
B, Y: Integer;
begin
MyList := TList.Create;
//存入方法
try
begin
for i := 0 to 5 do
begin
New(MyInfo);
MyInfo^.id := 'id' + IntToStr(i);
MyInfo^.name := 'name' + IntToStr(i);
if i Mod 2 = 0 then
MyInfo^.sex := '男'
else
MyInfo^.sex := '女';
MyList.Add(MyInfo );
end;
//取出方法
Y := 10;
for B := 0 to (MyList.Count - 1) do
begin
MyInfo := MyList.Items;
Canvas.TextOut(10, Y, MyInfo^.id);
Inc(Y, 30);
Canvas.TextOut(10, Y, MyInfo^.name);
Inc(Y, 30);
Canvas.TextOut(10, Y, MyInfo^.name);
Inc(Y, 30);
end;
//内存释放
for B := 0 to (MyList.Count - 1) do
begin
MyInfo := MyList.Items;
Dispose(MyInfo);
end;
end;
finally
MyList.Free;
end;
 
接受答案了.
 
后退
顶部