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

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

我想在动态链接库中得到这个gUserInfo的值,该怎么做?请高手指点。
...全文
21 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的数据类型不认识,该怎么解决?
目录 一、系统介绍 1 二、总体设计 1 2.1程序模块 1 2.2.函数分析 1 2.3.总体结构 2 三.主要模块的实现 3 四.程序调试 6 五.总结与体会 13 六.源程序清单 14 一、系统介绍 成绩管理系统主要管理学生考试成绩的基本信息。在系统中,每个学生是一条记 录,包括姓名、学号、所选课程,而每个学生对应课程有相应成绩。系统要对一个有 N个学生的班级所选课程成绩统一进行管理。包括了学生成绩的录入、显示、修改、 排序、保存等操作。 二、总体设计 2.1程序模块 主界面 void homepage(); 显示全部成绩 void display(); 录入 插入 void input(); 删除记录 void del(); 排序 void sort(); 等待界面 void waiting(); 退出界面 void quit(); 2.2.函数分析 主函数 :调用所定义的函数,实现本系统要求的功能 主界面函数 :显示主页面,并连接其它函数模块 显示函数 : 显示按要求查询的信息 录入 插入函数 :录入或插入所需信息 删除记录函数 : 删除数据中原有的信息 排序函数 : 按照要求排列出信息的顺序 等待界面函数 : 在显示期间一个缓冲页面 退出界面函数 : 退出现有页面并返回子菜单 2.3.总体结构 . 三.主要模块的实现 主函数(main) 通过对函数的调用实现录入、显示、修改、排序、保存等功能,有机的联系了所有的模 块,是整个系统正常完整的运行。 主页面函数void homepage() 这个函数主要利用了printf输出了完整的主页面,并且通过函数的调用使这个页面和本 程序的其他功能模块连接了起来! 显示全部成绩函数void display() 这个函数主要通过printf输出提示,操作者输入所查找方向,调用先前建立的数组中的 存储数据,再通过printf函数按照一定的顺序全部完整的输出出来。完成了整个成绩的 输出,显示。 录入插入函数void input() 这个函数先用到if语句判断输入成绩是否正确,for语句判断学号是否正确,然后用到f or,printf,scanf三的函数完成了对所有学生信息的录入,并且保存到系统中,又用if, else判断输入数量是否超出数组的容纳量 删除记录函数void del() 这个函数先用for,if来判断所输入信息是否属于该系统信息,找到信息后用del()函数删 除掉原有的信息,并且用if,else选择是否继续。 排序函数void sort() 这个函数用printf输出操作提示,可以用for,if来实现对每一种方式的排序,在按数字 时用通过函数的调用地方法完成进入每一种排序的页面。 退出界面函数void quit() 这个函数主要通过printf输出"谢谢是由本程序",完成对整个程序运行结束的提醒。 删除模式 输入信息 四.程序调试 五.总结与体会 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能 力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新 日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说 掌握计算机开发技术是十分重要的。回顾起此次课程设计,至今我仍感慨颇多,的确, 从从拿到题目到完成整个编程,从理论到实践,在一个多星期的日子里,我学到很多很 多的的东西,同时不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到 过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识 是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真 正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到 问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时 在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得 不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故 。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师的辛勤指 导下,终于完成课程设计。同时,我也学得到很多实用的知识,在次,对给予过我帮助 的各位指导老师和所有同学表示忠心的感谢! 参考文献 《C语言程序设计案例教程》 张基温 编著 清华大学出版社 C程序设计 (第三版) 谭浩强 著 清华大学出版社 《C语言程序设计方法》 邓文新 张宏烈 著 哈尔滨工业大学出版社 《C语言课程设计案例精编》 中国水利水电出版社 六.源程序清单 #include #include #include #include void ho

16,748

社区成员

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

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