Article View: cn.bbs.comp.program
Article #1195Ԥװ�����
From: ���ܵ�Сʨ
Date: Sat, 18 Apr 1998 00:00
Date: Sat, 18 Apr 1998 00:00
126 lines
10294 bytes
10294 bytes
��PowerBuilder 5.0��֧��ȫ�������,�����ڲ������ַ�������
����ʱ�䳤��������ִ���ļ������ȱ��,�����ڲ��ٳ���,������
����α���뷽ʽ,���ǽ�װ�ض����Դ�����PBL�ļ������PowerBui
lder�Ķ�̬���ӿ�(.PBD)��PowerBuilder�Ķ�̬���ӿ���װ�ص�����
Դ�������Դ������ƥ��Ķ����Ʊ�ʾ��������ʱ,����(��������)
����"��Ҫʱ����" ��ԭ��,��.PBD��װ���ڴ�,���ʹ��ִ�г����
�ֽ�������С,ִ��Ч�ʻ����,��������ֻ����ЩҪ�õ��Ķ����
����ʱװ���ڴ�,ʹϵͳ��Ҫ�����ڴ潻���Ļ����ٵö�,���Ӧ��
������Ҳ��졣
����ʱ����Ҳ�ᷢ���û��ڽ��д��ڵȲ���ʱϵͳ����Ӧ��
�Ƚ���,�ر����ڿͻ�������ýϵ͵������,����������Ϊͻ������
��֪��,���������һ���µĶ���ʱ,ϵͳҪ������.PBD�ļ��в�����
������,���������������������̳ж���,��ô�����е����ȶ���
����Ҫװ���ڴ档��Ӧ�����ʮ���Ӵ�,���ֲ��Һ�װ����Ȼ��ʮ��
���ʱ��ġ�
�������ǽ���һ��Ԥװ�����İ취,������һ���̶��Ͻ����
�����⡣Ԥװ�������Ǹı�����ʼװ���ʱ��,Ҳ����˵���û�
��Ӧ�ò�û�з�Ӧ�ٶȵ�Ҫ��ʱװ���˶���,�������û���Ҫ�ö�
��ʱ��װ��(���һ������ʱ)��Ԥװ�����������Ե��������,
���ּ������û���ӡ�������û�����Ҫ��ϵͳ����Ӧ�ٶ�ʱ���ж���
��װ�붼�ӿ��ˡ����ʺ�����ЩԤװ��ĵط�����APPLICATION��OPE
N�¼��С���PowerBuilder 5.0���������в�û��ֱ���ṩ����Ĺ�
��,�����ǿ�����һЩ�ļ�����ʵ����,�����ʹ��һ���ǿ��ӻ�
����
��������Ӧ��֪��:һЩ����,��ǿ��ӻ������,������ʱȫ��
װ���ڴ�,����һЩ����,�纯��,ֻװ����Ҫ�IJ��֡����ʹ��һ��
�ǿ��ӻ�������ܱ�ʹ��һ��ȫ�ֺ�����,��Ȼ������Ĵ�С��
���йء�
�����Ӧ�õ�OPEN�¼���Ԥװ�����еĶ���,����Ԥװ����Щ
���������Ϊ���ȵĶ�����������ǽ�����ǿ��ӻ�������
��һ������������ǿ��ӻ�����һֱ�������ڴ���ֱ��Ӧ�ý���,��
��ʹӦ�ø�ӽ��ա�����������һ���ô���,һ��������һ������
��ָ����Ϊȫ�ֱ���,�Ϳ�������� ���κεط��������ָ��,����
�������ij������������������ԡ�
����IJ�������������:
����һ:����һ��Ԥװ��Ķ���
����һ��Non_Visual_Object���͵��û�����,���ö�������ѡ��
�����ִ��̡��ڱ����в���NVO_Object_Pre_Loader.
�ڸö�����,����һ��Powerobject�Ķ����������IPO_Pre_Load
ed_objects[]��Power object������PowerBuilder����������߲�
�εĶ���(��ǰ�ġ�PowerBuilder�������ij�����ơ�),�������
��������κ�һ��PowerBuilder���Ļ��Զ���������⽨��һ��
���͵ı�����Ϊ���������,���ǽ���Ϊii_Idx,���ҽ����ʼ��Ϊ0
��������������Ϊʵ�������
PRIVATE:/*���ƶ������������ķ���Ȩ��*/
/*���Ǽ���Ԥװ��Ķ�����������10,��Ȼ������Ҳ�ɸ��
ʵ���������*/
PowerObject IPO_Pre_Loaded_objects[10]
Integer ii_Idx=0
ע��,����Ӧ���������Ԥ�ȶ�������Ĵ�С,�������ʹ�����
��Ԥ�ȱ����ڴ����������Ԥװ��ʱҲ�����еø�졣
�����:����Ԥװ�뺯��
���ڴ���һ���û����������NVOF_Pre_Load_Object�������
����һ������:APO_Ob ject,��Ҳ��Powerobject���͡�����Ĵ�����
�¡�
/*
����:NVOF_Pre_Load_Object
����:To pre_load often used ancestor objects
����:Power Object APO_Object
����ֵ:integer
1:�ɹ�,-1: ʧ��
*/
ii_Idx++
/*��ҪԤװ��Ķ���ֵ���������*/
IPO_Pre_Loaded_Objects[ii_Idx]=APO_Object
/*���鸳ֵ�Ƿ�ɹ�*/
If isvalid(IPO_Pre_Loaded_objects[ii_Idx])then
Return 1
else
Return -1
end if
������:�������Է�������û����������û��¼�
�����������Ϊ�����߽���һ���ɷ����Ԥװ�������õĴ���
�����Ƕ�����ʹ��һ��"����"���¼�,���¼����ڶ����CONSTRUCTOR
�¼��б����������ǿ��Խ�����û��¼�����ΪNVO_UE_DECLARATION
S,���ҽ�����Ĵ����������CONSTRUCTOR�¼��С�
This.Post Event("nvo_ue_declarations")
��NVO_UE_DECLARATION�¼�������Է����Ԥװ�����ĵ��á�
������:Ԥװ�����
��δ������NVO_UE_DECLARATION�¼��С��������Ӧ����Ҫ��
�����ٵ�Ԥװ�����,����ֻ��������������õ����ȶ�����w_W
indowBase��udw_DataWindow��uo_UserObjec tBase��m_MenuBase��
��Щ����ֱ������ǵĴ����ࡢ�û�������ݴ����ࡢ�û�������
�Ͳ˵�������ȶ���
NVO_UE_DECLARATON�¼��еĴ�������:
/*����ָ����Щ����ľֲ�����*/
Window
lWindow
UserObject lUO
DataWindow lDW
Menu
lMenu
/*��ÿһ����ҪԤװ��Ķ���,ʹ��Create��䴴��һ���ö���
��ʵ��,������Ԥװ�뺯�����ʵ������ڴ���*/
/*����һ�����ڻ����ʵ��*/
lWindow=Create w_WindowsBase
NVOF_Pre_Load_Object(lWindow)
/*����һ��DataW-indow���û���������ʵ��*/
lDW=Create udw_DataWindowBase
NVOF_Pre_Load_object(lDW)
/*����һ���û�����Ļ���ʵ��*/
lUO=uo_UserObjectBase
NVOF_Pre_Load_Object(lUO)
/*����һ���˵�ʵ��*/
lMenu=Create m_MenuBase
NVOF_Pre_Load_Object(lMenu)
һ������,��̬���õĶ���,������Щ���ַ�������õĶ���,
��������.EXE�ļ��С�����,�������Open(mywin,"My_Window")��
����һ������,My_Window���ڲ����Զ��ذ������EXE�ļ��С���
������.PBD�ļ�,������.PBD���С���������������ַ���Ԥ
װ���������,�ô�����.PBD��.EXE���뼼���¶�������
������:��ʼ��Ԥװ�����
Ϊ��ʹ��������ڴ�,��ʣ������һ�������DZ��뽫Ԥװ���
����װ���ڴ档�����ѡ����Ӧ��Ƶ��ʹ�ò��ֿ�ʼ����ǰ���κ�
�ط�������¡�һ�㳣�õ�����APPLICA-TIO N��OPEN�¼��С���Ҫ
�Ĵ�������:
anvo_object_pre_loader=Create NVO_Object_Pre_loader.
��γ���������ǿ��ӻ�����,�ÿ��ӻ�����ͻἤ������
�������¼�,�Ӷ�Ԥװ���������
���һ��������ע�����,��Ҫ��������APPLI-CATION��CLOSE
�¼��м���DESTROYan vo_object_pre_loader����һ�����,������
��Ӧ�ý������ν���ڴ�©��(Memory Leak)��
--
[m[1;37m�� ��Դ:���ϴ�С�ٺ���Ϣ����վ bbs.nju.edu.cn��[FROM: hsia.nju.edu.cn][m
Technical Details
Message-ID:
<3O9QlZ$tH2@bbs.nju.edu.cn>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB X-Google-Thread: fc86e,8d6540b4650a5dad,start X-Google-Attributes: gidfc86e,public From: pipishi.bbs@bbs.nju.edu.cn (���ܵ�Сʨ) Subject: Ԥװ����� Date: 1998/04/18 Message-ID: <3O9QlZ$tH2@bbs.nju.edu.cn> X-Deja-AN: 345311767 X-Filename: Programming/M.892871411.A Organization: nju_bbs Newsgroups: cn.bbs.comp.program