关于结构体的问题,在线等待,谢谢!

tzq0572 2003-08-22 12:19:47
我在Main主框架中建立了一个机构体
UserInfo = Record
strUserName: string[20]
strUserID: string[6]
end;
var
gUserInfo: UserInfo;

我想在动态链接库中得到这个gUserInfo的值,该怎么做?请高手指点。
...全文
22 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxpbuaa 2003-08-22
  • 打赏
  • 举报
回复
dll 中:
procedure DoDoDO(PAUser: PUserInfo);stdcall;
begin
//……
end;

调用时:
var
gUserInfo: UserInfo;
begin
DoDoDO(@gUserInfo);
end;

————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
tzq0572 2003-08-22
  • 打赏
  • 举报
回复
不是很明白,怎么把gUserInfo传给dll中的PUserInfo,能否说的详细一点,谢谢!
zjqyb 2003-08-22
  • 打赏
  • 举报
回复
procedure DoDoDO(var AUser:UserInfo);stdcall;
lxpbuaa 2003-08-22
  • 打赏
  • 举报
回复
Type
PUserInfo = ^ UserInfo;

在dll使用PUserInfo类型。

————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
tzq0572 2003-08-22
  • 打赏
  • 举报
回复
问题已经解决,zjqyb() 50分;lxpbuaa(桂枝香在故国晚秋) 10分。谢谢大家!
我还有个问题,定义一个记录数组,也是在自动化对象中返回一个记录数组,该这个记录数组的长度?
UserInfo = record
strUserName: string[20];
strUserID: string[6];
end;
var
UserInfoArray: array of UserInfo;

tzq0572 2003-08-22
  • 打赏
  • 举报
回复
问题已经解决,zjqyb() 50分;lxpbuaa(桂枝香在故国晚秋) 10分。谢谢大家!
我还有个问题,定义一个记录数组,也是在自动化对象中返回一个记录数组,该这个记录数组的长度?
UserInfo = record
strUserName: string[20];
strUserID: string[6];
end;
var
UserInfoArray: array of UserInfo;

tzq0572 2003-08-22
  • 打赏
  • 举报
回复
好方法,但是返回值再怎么转换成gUserInfo呢?谢谢!
zjqyb 2003-08-22
  • 打赏
  • 举报
回复
function TDBCtl.GetUserInfo: OleVariant;
begin
Result := integer(@gUserInfo);
end;
tzq0572 2003-08-22
  • 打赏
  • 举报
回复
我想在自动化对象中是用一个方法,返回gUserInfo,怎么用?我用下面的方法不行,救救我!!
function TDBCtl.GetUserInfo: OleVariant;
begin
Result := gUserInfo;
end;
tzq0572 2003-08-22
  • 打赏
  • 举报
回复
我试过了,提示错误啊!
[Error] dllBagFrame.dpr(41): 'PUserInfo' is not a type identifier
zjqyb 2003-08-22
  • 打赏
  • 举报
回复
dll 中:
UserInfo = Record
strUserName: string[20]
strUserID: string[6]
end;

procedure DoDoDO(var AUser: UserInfo);stdcall;
begin
//……
end;

调用时:
var
gUserInfo: UserInfo;
begin
DoDoDO(gUserInfo);
end;
zjqyb 2003-08-22
  • 打赏
  • 举报
回复
在dll中再申明
Type
PUserInfo = ^ UserInfo;
tzq0572 2003-08-22
  • 打赏
  • 举报
回复
有人知道怎么解决吗?等待中。。。。。。
halfdream 2003-08-22
  • 打赏
  • 举报
回复
String的用法都错了。。。
tzq0572 2003-08-22
  • 打赏
  • 举报
回复
在dll中PUserIno的数据类型不认识,该怎么解决?

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧