社区
C++ Builder
帖子详情
在程序运行状态要实现动态创建一个Form只知道Form名称如何查找到这个Form的类名?
shenxiaohu
2000-08-16 10:25:00
...全文
164
6
打赏
收藏
在程序运行状态要实现动态创建一个Form只知道Form名称如何查找到这个Form的类名?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Maxwell
2000-08-19
打赏
举报
回复
那好像比较困难,除非用adams的办法.
qianxh
2000-08-17
打赏
举报
回复
搞不懂你说的情况,Form名称就是Form的变量名,如果不知道其类型,编译也通不过啊。
如果你用以下方式声明变量:
TForm *form;
则在实例化时就很灵活:
form=new TYourForm(NULL);
...
delete form;
adams
2000-08-17
打赏
举报
回复
如果设计的类不多,我看可以用这个比较笨的办法。
用switch和case判断类名,再分别实例化。
shenxiaohu
2000-08-17
打赏
举报
回复
老兄,这个Form是还没有实例化的,只是设计好了,然后要在程序运行时进行实例化,而且实例化时仅仅知道这个Form设计时的名称(以AnsiString 类型变量表示),那位大侠可以援手啊!
Wingsun
2000-08-16
打赏
举报
回复
你知道该Form的名称,该Form实例化了吗?如果实例化了,你可以调用ClassName方法获得该Form的类名。相关的函数还有ClassInfo,ClassType,ClassNameIs,ClassParent等。
alexela
2000-08-16
打赏
举报
回复
/*TClass aa;
aa=__classid(TForm);
ShowMessage(aa->ClassName)
*/
/*Anistring sname=AnsiString(Form1->ClassName());
ShowMessage(sname);
*/
祝你好运
Java 内核原理入门到实战(大神必经之路)
主要特性Java 语言是简单的:Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java 丢弃了 C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。Java 语言是面向对象的:Java 语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的
实现
机制(关键字为 implements)。Java 语言全面支持
动态
绑定,而 C++语言只对虚函数使用
动态
绑定。总之,Java语言是一个纯的面向对象程序设计语言。Java语言是分布式的:Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。Java 语言是健壮的:Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。Java语言是安全的:Java通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。Java 语言是体系结构中立的:Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在
实现
这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。Java 语言是可移植的:这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java
实现
的,Java 的运行环境是用 ANSI C
实现
的。Java 语言是解释型的:如前所述,Java 程序在 Java 平台上被编译为字节码格式,然后可以在
实现
这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。Java 是高性能的:与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C++。Java 语言是多线程的:在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子类将一个
实现
了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经
实现
了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。Java 语言是
动态
的:Java 语言的设计目标之一是适应于
动态
变化的环境。Java 程序需要的类能够
动态
地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
通过
类名
动态
创建
Form
主窗体:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Form
s, Dialogs, ComCtrls, ImgList, ActnList, ToolWin;type T
Form
1 = class(T
Form
)
2021-11-18 WinFrom面试题 在Win
form
中,我们发现在一个
Form
相关的cs文件有两个,它们的
类名
都是一样的,只是代码后台类文件中的class之前有partical修饰而已,这是为
在Win
form
中,我们发现在一个
Form
相关的cs文件有两个,它们的
类名
都是一样的,只是代码后台类文件中的class之前有partical修饰而已,这是为什么? C# 2.0可以将类、结构、接口的定义拆分到两个或多个源文件中,用partial关键字修饰。这里也是这个道理。
Form
分为两个类文件,其实还是只一个类,一个文件名是xx.Designer.cs 表示
Form
的UI代码文件,其中的代码是自动生成的,一般不建议去修改;另一个以.cs结尾的是后台文件文件,我们可在其中自己代码。等到编译运行时,系统会自
.NET Windows
Form
改变窗体
类名
(Class Name)有多难?
研究Win
Form
的东西,是我的一个个人兴趣和爱好,以前做的项目,多与Win
Form
相关,然而这几年,项目都与Win
Form
没什么关系了,都转为ASP.NET MVC与WPF了。关于今天讨论的这个问题,以前也曾深入研究过,只是最近有朋友问到这个问题,就再挖挖这个坟(坑)。 一、
类名
是啥? 打开神器SPY++,VS2013 在【工具】菜单里: VS2013之前的VS版本,...
vue uniapp等
动态
添加
类名
【代码】vue uniapp等
动态
添加
类名
。
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章