🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: cn.bbs.comp.program
1 messages
1 total messages Started by ���ܵ�Сʨ Sat, 18 Apr 1998 00:00
��Դ����
#1199
Author: ���ܵ�Сʨ
Date: Sat, 18 Apr 1998 00:00
182 lines
14115 bytes
 �ڴ�©��
    ���������ڵġ�Ԥװ�����һ�����ᵽ��"�ڴ�©��(Memory L
eak)",���dz���Ա���û����ܹ��ĵ����⡣һ������װ�벢�ҷ���
���ڴ�,���ڶ��󱻹ر�ʱȴû���ͷŷ�����ڴ�,����,�ڴ�©����
�����ˡ��ڿ���������Ҳ�����ڴ�©��,���������޷����Ƶ�,������
�DZ���ע�������Լ��Ĵ�������ɵ��ڴ�©����
    ���п�������ڴ�©������,ʹ��CREATE��䴴��һ�������û
���ö�Ӧ��DESTROY���������ۺ�ʱ,��CREATE������һ����
��,�ͱ��븺���ڸö���ִ�����֮���ͷŷ�����ڴ档
    ��:����һ��transaction����:
    Transaction My_Transaction
    My_transaction=CREATE Transaction
    ��������������,Ӧ�����ö���:
    DESTROY-My-Transaction
    (ע��:SQLCA��Ӧ���Զ�����,ͬʱҲ�Զ��رա�)
    �ڴ�©���ij��־������뿪����ʹ���˷ǿ��ӻ��û������йء�
��Ϊ���ֶ���ֻ����C REATE��䴴�����һ��ʵ��,����粻����ʹ
��DESTROY������,���Ȼ���´���������OpenUserObject��Open
User-ObjectWithParm����Ķ�̬�û�����,ͬ��Ҫ�󿪷����ڽ�
��ʹ������ʱ������Ӧ��CloseUserObject����
    ����֪��,PowerBuilder�ܹ��Զ�������һ�������еij����
��,����Ϊʲô������Ӧ�ý���ʱ�Զ�����û��Լ������Ķ�����?��
ΪPowerBuilder�������ؼ��б��еĶ���,����ֻ��һ������(�細
��)����������Щ����Ż����ڿؼ��б?��(�������ɼ�Ķ���);
 ��̬���û�����ͷǿ��ӻ�����,��PowerBuilderȫ�ֶ����ʵ��
(transactions��error ��message�ȵ�)һ��,���ڶ���Ŀ����б���
��������ӵ������ϵġ��رո�����ʱ,ϵͳ����֪��Ҫ�����Щ��
̬����Ķ��������û���ֹ��������,���ǽ�һֱ���ִ�
״̬,����פ���ڴ���,ֱ��ʹ�ù��������,���߹ر�Windowsϵͳ��
ʹ����Windows3.1 Reso urce Kit���ṩ���ڴ���Դ���������Ĺ�
��,��ʹ���ڲ��Թ���м����Դ��ȷ����Դ����Ԥ��������ͷ�
��

    �ڴ����
    ��Windows3.xƽ̨��,������Ա����ʱ���������������:������
��32M�ڴ�,����ֻ������Ӧ��������,����PowerBuilderȴ������ʾ
�ڴ治��(Out of Memory)�����û���ʹ��ijӦ�����ʱ,Ҳ��ͬ���
���ڴ治�������,�����û�ֻ�ùر������Ӧ��,ֱ�����ֹر���ij
һ�����ͷ����㹻���ڴ�ռ�ɹ�PowerBuilder����Ϊֹ�������û�
��ʼ��Թ������,���߿�ʼ��ԹPowerBuilder��
    ��ʵ�ڶ��������,���Ƕ���Ӧ������,����ĸ�Դ����Window
s���?����֪��,���ϸ������Ͻ�,Windows������һ������ϵͳ,��
ֻ��һ��DOSӦ�ó���,����ȻҪ��̶��ij���ռ䡣��Щ�ռ�ֲ���
1M���µ���λ�ڴ��С������ʹ�ô����/C��DOS����MEM,��ῴ
���������µ���ʾ(�����±�)��
    ������DOS�ڴ�����640K��1M��λ�ڴ��֮����360K(Լ384,000
�ֽ�)�Ŀ����ڴ�,������ʾ��,"��λ"�ڴ��"����"�ڴ�֮��ȴ�н�5
00K���á�"����"�ڴ�һ������װ������������������,��"Win38
6"һ��Ҳ��ʾ����42K����,���DZ���Щ��Ҫ�̶���ַ�ռ��Ӧ��ʹ��
�ġ���Windows����һ��������ʱ,Windows��װ��ģ��Ϊ�����񴴽�
һ��������ݿ�(TDB )�����������ݿ���뱻װ�뵽1MB�����ڴ�,
������С����Ϊ200�ֽڡ�ԭ����������ݿ���ĵڶ�������һ����
���ǰ׺(PSP),����Windows1.0��2.0��3.0ʵģʽ�����,ʹ�����
Ψһԭ���Ǹ�����׵ص���Ӧ�����õ�MS-DOS��չ�����ڱ���ģʽ��
Windows�в����DZ����,������Windows3.1����ģʽ���Ա�������һ
�ṹ��
    ������Ļ����ж����ڴ�,��ij������ȥ��ȡ��ο��ÿռ�,û
��ʲô����������������һ����,�Լ����潫�ᵽ��64K GDI��USER
��,��Windows3.X���������ƵĴ��롣
    ���е�Windows�����������ҪһЩ����1M���µ��ڴ������
��������һ��ij���������һЩ�̶����ڴ���,��Щ����Ҫ����
����һЩ�ڴ�ռ�,����Щ�д���ij����ܿ����ĵ�������޵�
�ڴ�ռ�,��ͻ����ǰ���������ᵽ���ڴ治�����⡣����PowerBu
i lder�����������Լ�ȥ������Щϡ�е���Դ,��Ҳʹ�����޷����
����ԭ��������ڴ治�����⡣
    C����Ա�����Ϥ��GMEM_FIXED������Global-DosAlloc�������
�ڴ档������������ͼ�������1M���ڴ档HEAPWALK.EXE(��
��Windows SDK��C++��������)�����Ӧ�ó����ܲ鿴1M���·����
�ڴ��,�Ӷ��׼ȷ��ȷ����ЩӦ�óԵ��˱�����ڴ���Դ��������M
S -DOS�е�LoadHigh����,��һЩפ������װ��߶˶��ͷų����ڴ�,
��������Ҳ�����˿��õ���λ�ڴ�,��ð취ֻ�������ԡ�

    ����Windows��Դ
    ��������Windows�г��������������Դ,������USER��GDI��Դ
����Щ��Դ��������������������ݿ���һ��,Ҳ�DZ�Windows����
�������ڴ����Ƶ�,���Ƕ��в��ܳ���64K�����ơ�����ζ����ʱ����
�ǻ����ڴ������������ڴ治�㡣
    GDI��Դ����Ӧ�����õ�����Դ�����豸�����ġ�ÿ��λͼ��
ͼ�ꡢ��ꡢ��ݴ��ڡ��û�����ʹ��ڶ���Ҫ������Դ������Զ�
�幤������GDI��Դ���������,����һ�㲻�������鷳�����ڡ����
���ںͰ�ť�������ù�GDI��Դ��GDI��Դ������һ��������ȼ��ٵ�
20%���¡�
    USER��ԴҲ��ÿ��������Ҫ����Դ�����һ���û�������һ��
�������,����ÿ��������ҪUSER��Դ(����������ȵ�),����
����µ��ö�̬�򿪻�رյĶ�����Ȼ������ġ���Ϊ��ݴ����ǵ�
һ����,����ʹ����ݴ�����Ϊ���󼯺�Ҳ�Ǹ���Щ��Դ���ٸ�����
һ���÷�����
    ͨ����������,���ǿ��Կ���Windows3.x�п��õ��ڴ�Զ������
��ʼ�����Ҫ�١�Wind ows95Ҳ�?�Ỻ����һ����,������۲졣
    ��̬�����Դ���
    ���,���ǽ���һ���ܰ���������ʱ�������ϵͳ��Դ����̡�
�������ᵽ��,ʹ��Pow erBuilder,���Dz��ܿ���ϵͳ����Դ��ʹ��,
�������ǿ�����һЩ�򵥵�SDK��������������Դ��ʹ�á����ǽ�
ʹ��һ���ǿ��ӻ�������ΪSDK�Ľ�����󡣵�Ȼ��Ҳ���Խ�SDK����
����Ϊȫ���ⲿ����ͨ��ȫ�ֺ������������ǡ�
    ����һ:
    ����API���ʶ���NVO_API_ACCESS;
    ����һ������������Ӧ���¼�,����CONSTRUC-TOR�¼��д�����
�¼�;
    ����һ�����ڳ�ʼ�����û��¼�NVO_UE_SETUP,����CONSTRUCTOR
�����
    �����:
    �������µľֲ��ⲿ����:
    FUNCTION uint GetFreeSystemResources(uint SysResource) L
IBRARY 'user.dll'
    ������:
    �������±���ʵ��:
    Private:
    /*��С����Դ����*/
    Long  il_usermem_limit
    Long  il_gdimem_limit
    Long  il_memory_limit
    Long  il_standard_threshhold
    /*��Դ���ʳ���*/
    Integer
     sdkUser=0,sdkGDI=1,sdkMemory=2
    ������:
    �������µ��û�������:
    //**************************
    //����: NVOF_Check_Resources
    //����: To check system resources
    //����:(��)
    //����ֵ:integer
    //1-�ɹ�,<0-ʧ��(�����ֵΪ��Դ���ʳ���)��
    //*************************
    if GetFreeSystemResources(sdkUser) < il_usermem_limit th
en
     return(sdkUser*-1)
    end if
    if GetFreeSystemResources(sdkGDI) < il_gdimem_limit then
     return(sdkGDI*-1)
    end if
    if GetFreeSystemResources(sdkMemory) < il_memory_limit t
hen
     return(sdkMemory*-1)
    end if
    Return  1
    ������:
    ������Ҫ����һ���������ڽ������ǵ���С��Դ���ơ�
    ��������NVOF_Set_Resource_Limit��������������ͱ���ai_Re
sourceType,��ָ�������Դ����������(GDI,User�� Memory)��ai_t
hreshhold,ָ��������Դ���͵��ٽ�����ֵ��
    //**************
    //����: NVOF_Set_Resource_Limit
    //����: Sets resource threshhold limits
    //����:   integer   ai_ResourceType
    //(ָ�������Դ��������)
    //integer   ai_Threshhold
    //(������Դ���͵��ٽ�����ֵ)
    //����ֵ:integer
    //1-�ɹ�,-1-ʧ��.
    ////*****************
    /*������Դ����*/
    Choose Case ai_ResourceType
     Case sdkGDI
      il_gdimem_limit=ai_Threshhold
     Case sdkUser
      il_usermem_limit=ai_Threshhold
     Case sdkMemory
      il_memory_limit=ai_Threshhold
    End Choose
    Return  1
    ������:
    �������¼���,��il_Default_Threshold��Ϊ�Դ�һЩ����ֵ��
����,30%���������ܽ��ܵ���͵IJ��þ����û�����Դ��,��ô����
�������¼���д�����´���:
    il_Default_Threshold=30
    �ڳ�ʼ���¼���,����ȱʡ�������趨�ٽ�����,�������������
ʱ������Щ���ơ���������н�������ø�һ��,����ȷ��������
Ʒ����ʱ��Դ��������⡣
    NVOF_Set_Resource_Limit(sdkUser,il_Default_Threshold)
    NVOF_Set_Resource_Limit(sdkGDI,il_Default_Threshold)
    NVOF_Set_Resource_Limit(sdkMemory,il_Default_Threshold) 
    ��
    �������������һ��ʵ��,�ڴ�һ�����ڡ���̬��һ���û�
����򴴽�һ������֮ǰ,ͨ����ö����NVOF_Check_Resources()
����,�����ȷ���Ƿ����㹻����Դ����������򿪡���Щ����Ҳ
������Ӧ�õ��κεط��������������ƻ�����Դ��

--
�� ��Դ:���ϴ�С�ٺ���Ϣ����վ bbs.nju.edu.cn��[FROM: hsia.nju.edu.cn]
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads