V versa Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-28 #1 用Application.Findcomponent好像只能找到有实例的窗体,但是不能找到只有Class,还没有实例化的窗体,我想枚举出本程序中所有窗体,用StringList.AddObject(名称,类型)保存起来,谁有办法? 200分,小小意思,不成敬意
用Application.Findcomponent好像只能找到有实例的窗体,但是不能找到只有Class,还没有实例化的窗体,我想枚举出本程序中所有窗体,用StringList.AddObject(名称,类型)保存起来,谁有办法? 200分,小小意思,不成敬意
M _Murray Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-28 #2 没有实例化的窗体在程序中是没有这个对象的,所有程序在运行期是找不到的。 再就是TFORM生成的对象是引用类型,生成的对象其实就是一个指针,所以建议 用TLIST,把对象指针保存起来便于管理(我以前这样用过)。
没有实例化的窗体在程序中是没有这个对象的,所有程序在运行期是找不到的。 再就是TFORM生成的对象是引用类型,生成的对象其实就是一个指针,所以建议 用TLIST,把对象指针保存起来便于管理(我以前这样用过)。
V versa Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-28 #3 TLIST保存起来是可以的,用TStringList还更方便,这都是一个道理 不过,都要手工向其中添加,我想要的是做出类似于dede和dunit中那种连没有实例化的Class都找得到,这两个软件都只有部分源码,关键部分都是用dcu提供的,没有pas,够狡猾的阿
TLIST保存起来是可以的,用TStringList还更方便,这都是一个道理 不过,都要手工向其中添加,我想要的是做出类似于dede和dunit中那种连没有实例化的Class都找得到,这两个软件都只有部分源码,关键部分都是用dcu提供的,没有pas,够狡猾的阿
B bbscom Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-28 #5 樓主可能是對窗口權限管理才出現這個問題。 如果真的是這樣,不建議用這樣做。這樣太麻煩或不方便。
D duhai_lee Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-28 #6 你不妨把已经存在的都 事先装进去。 这样好像麻烦。 真不知道那个函数可以获得所有工程窗体。。。。
V versa Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-28 #7 EnumModules可以列出来使用过哪些包 不知道哪个函数可以枚举出来所有的Class,然后再比较是否是TForm
L LWH006 Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-28 #9 用 Screen 来找, for i:=0 to Screen.Forms.Count-1 do begin //Screen.Forms.Name //这个也是实例化了的,不对好象 end;
L LWH006 Unregistered / Unconfirmed GUEST, unregistred user! 2006-02-28 #10 估计要用 结构WNDCLASS 来找,它刚好就是找那些已经用RegisterClass注册的类。如果是TForm类型的,也必定先注册过了: The WNDCLASS structure contains the window class attributes that are registered by the RegisterClass function. typedef struct _WNDCLASS { // wc UINT style WNDPROC lpfnWndProc int cbClsExtra int cbWndExtra HANDLE hInstance HICON hIcon HCURSOR hCursor HBRUSH hbrBackground LPCTSTR lpszMenuName LPCTSTR lpszClassName } WNDCLASS;
估计要用 结构WNDCLASS 来找,它刚好就是找那些已经用RegisterClass注册的类。如果是TForm类型的,也必定先注册过了: The WNDCLASS structure contains the window class attributes that are registered by the RegisterClass function. typedef struct _WNDCLASS { // wc UINT style WNDPROC lpfnWndProc int cbClsExtra int cbWndExtra HANDLE hInstance HICON hIcon HCURSOR hCursor HBRUSH hbrBackground LPCTSTR lpszMenuName LPCTSTR lpszClassName } WNDCLASS;
V versa Unregistered / Unconfirmed GUEST, unregistred user! 2006-03-01 #11 RegisterClass,RegisterClasses注册那就用FindClass找就很方便了,但是,这样就失去了我问这个问题的意义了