如何实现DELPHI IDE类似功能(100分)

  • 主题发起人 主题发起人 levi
  • 开始时间 开始时间
L

levi

Unregistered / Unconfirmed
GUEST, unregistred user!
我想做一个DELPHI工程文件的管理工具,现在想实现如下一个功能,请高手指点...


根据dfm文件,显示出窗体的样子(或者自已在画布上画也可以),类似于DELPHI IDE中,打开.pas文件,会自动显示出窗体的样子一样。
我也试过用运态加载dfm的方法,但是这样只能限于窗体类是预先加载过的,不通用。所以请大家指点有什么更好的方法不。
 
顶一下,怎么没人回答啊
 
我的这个管理工具的功能再描述一下,以便大家更好的理解,做好后,我会把程序及源码公布出来的
目前本人在做一个外贸公司的管理系统,系统是采用多个模块形式的,由于前期的文档做的不全,所以想做一个管理的工具,来管理源码及算法,以及理清模块间的调用关系,程序是用d7+access做的。
功能大致如下:
描述系统的每一个对象、变量、表单、表、视图等的功能及相互间的关系,
对于每一个对象,点击后可以查看他的命名规范、功能、算法、源码、表的定义等(说白了就是系统的详细设计文档)
生成过程是这样的,与后台(SQL 2K)有关的数据是通过自动生成数据字典得到的,前台这一块,只要添加工程的目录,就可以生成工程中所有表单以及每个表单的元件明细(从DFM中读取)以及他们相应的源码(从PAS中读取)和定义的全局变量、自定义的属性、方法等等。
为了把表单的对象描述的更加清楚,我想在读取DFM文件后,即同时在项目窗口中显示出他相应的表单的格局,然后用户点击格局中的某个元件(如BUTTON),即可得到他的源码(如BUTION的CLICK源码),同时也可以看到他的算法(算法的内容当然是要用户自己写的),如此整理后,在系统维护时即可以方便的得到每个对象的相关信息,包括设计者的意图,以及更改这个源码后需要附带更改的所有相关对象的位置等等。
现在碰到的问题是如何根据DFM生成表单的格局?
我想过从以下两个方面解决
1、即ReadComponent的方法,将DFM加载到Memstream后,生成表单,但是这样有一个问题没法解决,即会跳出表单类未注册,因为预先我们无法知道表单类的名称及功能,所以不可能预先注册,而且运行过程中,也无法动态生成,所以无法实现
2、自己做一个画元件的过程或函数,如读到DFM中的一个
Object
.....
end 结构后,判断是什么控件,然后在画布上画一个元件的样子,但是这样做太麻烦了,要写出所有可视元件的绘制程序

所以希望大家提提意见看,有没有可能其他更好的方法以,或者如何处理,能够让第一种方法在不注册类的前提下,实现这样的功能(跟动态加载DFM还是有区别的)

在这里先谢谢大家了
 
那是要同时读取pas和dfm文件的,dfm只是资源定义,pas才是框架定义
 
to:wugwdelphi
那要怎样把读取的pas框架在内存中建立起表单的样子呢?
 
推荐一本书给你:<<delphi高级开发指南>> delphi3的,其中有你要的内容,非常详尽.
 
后退
顶部