DELPHI 多个窗体间的引用问题

u011826367 2013-08-29 12:06:15
我在Delphi里面新建了4个窗体并保存着,4个窗体的功能已全部写好,现在我想实现程序运行后先弹出Form1登陆窗体,如果用户名及密码验证成功就关闭Form1后弹出Form2主菜单窗体,Form2窗体有两个按钮,按钮一用于弹出Form3,按钮2用于弹出Form4,Form3和Form4不能同时显示,在Form3或Form4没有关闭之前不能操作Form2,这样要如何实现,实现的同时要尽可能不占用太多内存,请教大家要如何做?
我在网上查了很多资料,有人这样说有人那样说,我不知道哪种方法是大家普遍使用的并且尽可能节约内存?另外需要改动Project---Options---Forms----anto create forms和Available forms这两个设置吗?谢谢大家了。我是初学者,请大家回复的时候说详细点,谢谢。
...全文
207 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdmh 2013-08-31
  • 打赏
  • 举报
回复
貌似ShowModal模态窗口就够了
zhangzhen_927116 2013-08-30
  • 打赏
  • 举报
回复
你第一步可以在程序入口做一个操作 Form2做主窗体 在入口处处理下。先打开Form1.登录正确后打开FORM2.关闭FORM1. 至于你的Form2打开FORM3、4,LS的方法不错。可以实现。
s11ss 2013-08-29
  • 打赏
  • 举报
回复
auto create forms只保留主窗体Form2,其余窗体都在Available forms。 Form2的OnShow事件中调用: Application.CreateForm(TForm1, Form1);//创建登陆窗体 if Form1.ShowModal() <> mrOK then//如果登陆失败就退出进程 ExitProcess(1); Form2的按钮一单击事件: if not Assigned(Form3) then Application.CreateForm(TForm3, Form3); Form3.ShowModal; Form2的按钮二单击事件: if not Assigned(Form4) then Application.CreateForm(TForm4, Form4); Form4.ShowModal;
tcmakebest 2013-08-29
  • 打赏
  • 举报
回复
form3 和 form4 用 ShowModal 打开,这种模式窗口需要关闭才能返回 form2.
第一部分 快速开发的基础 第1章 Delphi 5下的Windows编程 1 1.1 Delphi产品家族 1 1.2 Delphi是什么 3 1.2.1 可视化开发环境 3 1.2.2 编译器的速度和已编译代码的效 率 4 1.2.3 编程语言的功能及其复杂性 4 1.2.4 数据库结构的灵活性和可扩展性 5 1.2.5 框架对设计和使用模式的扩充 5 1.3 历史回顾 5 1.3.1 Delphi 1 5 1.3.2 Delphi 2 6 1.3.3 Delphi 3 6 1.3.4 Delphi 4 7 1.3.5 Delphi 5 7 1.3.6 未来 7 1.4 Delphi 5的IDE 7 1.4.1 主窗口 8 1.4.2 窗体设计器 9 1.4.3 Object Inspector 9 1.4.4 代码编辑器 9 1.4.5 代码浏览器 10 1.4.6 源代码生成器 10 1.5 创建一个简单的应用程序 11 1.6 事件机制的优势在哪里 12 1.7 加速原型化 13 1.8 可扩展的组件和环境 13 1.9 IDE最重要的十点功能 13 1.10 总结 15 第2章 Object Pascal语言 16 2.1 注解 16 2.2 新的过程和函数特征 17 2.2.1 圆括号 17 2.2.2 重载 17 2.2.3 缺省值参数 17 2.3 变量 18 2.4 常量 19 2.5 运算符 20 2.5.1 赋值运算符 20 2.5.2 比较运算符 20 2.5.3 逻辑表达式 21 2.5.4 算术运算符 21 2.5.5 按位运算符 22 2.5.6 加减运算过程 22 2.6 Object Pascal类型 23 2.6.1 类型的比较 23 2.6.2 字符 24 2.6.3 字符串 24 2.6.4 变体类型 32 2.6.5 Currency 39 2.7 用户自定义类型 39 2.7.1 数组 39 2.7.2 动态数组 40 2.7.3 记录 41 2.7.4 集合 42 2.7.5 对象 43 2.7.6 指针 44 2.7.7 类型别名 46 2.8 强制类型转换和类型约定 46 2.9 字符串资源 47 2.10 测试条件 47 2.10.1 if语句 47 2.10.2 case语句 48 2.11 循环 49 2.11.1 for循环 49 2.11.2 while循环 49 2.11.3 repeat...until 50 2.11.4 Break()过程 50 2.11.5 Continue()过程 50 2.12 过程和函数 50 2.13 作用域 50 2.14 单元 55 2.14.1 uses子句 55 2.14.2 循环单元引用 56 2.15 包 56 2.15.1 使用Delphi的包 56 2.15.2 包的语法 56 2.16 面向对象编程 57 2.17 使用Delphi对象 58 2.17.1 声明和实例化 58 2.17.2 析构 59 2.18 方法 59 2.18.1 方法的类型 60 2.18.2 属性 61 2.18.3 可见性表示符 62 2.18.4 友类 62 2.18.5 对象的秘密 63 2.18.6 TObject:所有对象的祖先 63 2.18.7 接口 63 2.19 结构化异常处理 66 2.19.1 异常类 68 2.19.2 执行的流程 70 2.19.3 重新触发异常 71 2.20 运行期类型信息 72 2.21 总结 72 第3章 Win32 API 73 3.1 对象:以前和现在 73 3.1.1 内核对象 73 3.1.2 GDI和用户对象 75 3.2 多任务和多线程 75 3.3 Win32内存管理 76 3.3.1 什么是线性内存模式 76 3.3.2 Win32系统是怎样管理内存的 76 3.4 Win32的错误处理 78 3.5 总结 78 第4章 应用程序框架和设计 79 4.1 理解Delphi环境和项目的体系结构 79 4.2 构成Delphi 5项目的文件 79 4.2.1 项目文件 80 4.2.2 单元文件 80 4.2.3 窗体文件 8

16,748

社区成员

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

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