⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vc25pro_doc_unaclasses.html

📁 Voice Commnucation Components for Delphi
💻 HTML
📖 第 1 页 / 共 5 页
字号:
	<LI>class <A HREF="#class_unaIniMemorySection"><SPAN class="class">unaIniMemorySection</SPAN></A>(<A HREF="#class_unaObject"><SPAN class="class">unaObject</SPAN></A>)</LI>
	<LI>class <A HREF="#class_unaIniMemory"><SPAN class="class">unaIniMemory</SPAN></A>(<A HREF="#class_unaIniAbstractStorage"><SPAN class="class">unaIniAbstractStorage</SPAN></A>)</LI>
	<LI>class <A HREF="#class_unaAbstractStream"><SPAN class="class">unaAbstractStream</SPAN></A>(<A HREF="#class_unaObject"><SPAN class="class">unaObject</SPAN></A>)</LI>
	<LI>class <A HREF="#class_unaStreamChunk"><SPAN class="class">unaStreamChunk</SPAN></A>(<A HREF="#class_unaObject"><SPAN class="class">unaObject</SPAN></A>)</LI>
	<LI>class <A HREF="#class_unaMemoryStream"><SPAN class="class">unaMemoryStream</SPAN></A>(<A HREF="#class_unaAbstractStream"><SPAN class="class">unaAbstractStream</SPAN></A>)</LI>
	<LI>class <A HREF="#class_unaMemoryData"><SPAN class="class">unaMemoryData</SPAN></A>(<A HREF="#class_unaAbstractStream"><SPAN class="class">unaAbstractStream</SPAN></A>)</LI>
	<LI>class <A HREF="#class_unaFileStream"><SPAN class="class">unaFileStream</SPAN></A>(<A HREF="#class_unaAbstractStream"><SPAN class="class">unaAbstractStream</SPAN></A>)</LI>
	<LI>class <A HREF="#class_unaResourceStream"><SPAN class="class">unaResourceStream</SPAN></A>(<A HREF="#class_unaAbstractStream"><SPAN class="class">unaAbstractStream</SPAN></A>)</LI>
	<LI>class <A HREF="#class_unaMappedMemory"><SPAN class="class">unaMappedMemory</SPAN></A>(<A HREF="#class_unaObject"><SPAN class="class">unaObject</SPAN></A>)</LI>
	<LI>class <A HREF="#class_unaMappedFile"><SPAN class="class">unaMappedFile</SPAN></A>(<A HREF="#class_unaMappedMemory"><SPAN class="class">unaMappedMemory</SPAN></A>)</LI>
	<LI>class <A HREF="#class_unaConsoleApp"><SPAN class="class">unaConsoleApp</SPAN></A>(<A HREF="#class_unaThread"><SPAN class="class">unaThread</SPAN></A>)</LI>
</UL>
<P />Routines:
<UL>	<LI><A HREF="#routine_unaListOnItemReleaseEvent">unaListOnItemReleaseEvent()</A>;</LI>
	<LI><A HREF="#routine_unaListOnItemBeforeRemoveEvent">unaListOnItemBeforeRemoveEvent()</A>;</LI>
	<LI><A HREF="#routine_unaThreadOnExecuteMethod">unaThreadOnExecuteMethod()</A>;</LI>
	<LI><A HREF="#routine_onTimerEvent">onTimerEvent()</A>;</LI>
	<LI><A HREF="#routine_lockNonEmptyList">lockNonEmptyList()</A>;</LI>
	<LI><A HREF="#routine_sameFiles">sameFiles()</A>;</LI>
	<LI><A HREF="#routine_getFolderSize">getFolderSize()</A>;</LI>
</UL>
<DIV><HR /><P />Unit classes<DIV><P /><H4>Class <A NAME="class_unaObject"><SPAN class="class">unaObject</SPAN></A>(<SPAN class="class">tObject</SPAN>)</H4><P /><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">constructor <A HREF="#class_unaObject"><SPAN class="class">unaObject</SPAN></A>.create();</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaObject"><SPAN class="class">unaObject</SPAN></A>._this: <A HREF="#class_unaObject"><SPAN class="class">unaObject</SPAN></A>;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaObject"><SPAN class="class">unaObject</SPAN></A>._classID: string;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaObject"><SPAN class="class">unaObject</SPAN></A>.AfterConstruction(); override;</SPAN><P /></TD></TR></TABLE></DIV>
<DIV><P /><H4>Class <A NAME="class_unaEvent"><SPAN class="class">unaEvent</SPAN></A>(<A HREF="#class_unaObject"><SPAN class="class">unaObject</SPAN></A>)</H4><P />
    This is a wrapper class for Windows Events.
  <P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">constructor <A HREF="#class_unaEvent"><SPAN class="class">unaEvent</SPAN></A>.create(manualReset: bool = false; initialState: bool = false; const name: wideString = '');</SPAN><P />
      Constructs an event. Specify initialState and manualReset parameters.
      If manualReset is true you have to reset the event manually every time it was set to signaled state.
      By default this parameter is false, what means event will be reset automatically.
      initialState parameter specifies the initial state of event.
      Default value is false (non-signaled). Specify optional name parameter to set the name of event.
      You can use this name later to reopen the event.
      Refer to MSDN documentation for more details about Windows events.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">destructor <A HREF="#class_unaEvent"><SPAN class="class">unaEvent</SPAN></A>.Destroy(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaEvent"><SPAN class="class">unaEvent</SPAN></A>.setState(signaled: bool = true);</SPAN><P />
      Sets state of the event to signaled or non-signaled.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaEvent"><SPAN class="class">unaEvent</SPAN></A>.waitFor(timeout: unsigned = 1): bool;</SPAN><P />
      Used to wait until the state of event will be set to signaled.
      Returns true if the event was set to signaled state and false if timeout was expired (event remains in non-signaled state).
      timeout parameter specifies the timeout in milliseconds.
      This method blocks execution of caller thread, so use it carefully when specifying INFINITE value for timeout.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaEvent"><SPAN class="class">unaEvent</SPAN></A>.handle: handle;</SPAN><P />
      Windows handle of event.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaEvent"><SPAN class="class">unaEvent</SPAN></A>.name: wideString;</SPAN><P /></TD></TR></TABLE></DIV>
<DIV><P /><H4>Class <A NAME="class_unaAbstractGate"><SPAN class="class">unaAbstractGate</SPAN></A>(<A HREF="#class_unaObject"><SPAN class="class">unaObject</SPAN></A>)</H4><P /><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaAbstractGate"><SPAN class="class">unaAbstractGate</SPAN></A>.gateEnter(timeout: unsigned = INFINITE; const masterName: string = ''): bool; virtual;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaAbstractGate"><SPAN class="class">unaAbstractGate</SPAN></A>.gateLeave(); virtual;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">constructor <A HREF="#class_unaAbstractGate"><SPAN class="class">unaAbstractGate</SPAN></A>.create(const title: string = '');</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaAbstractGate"><SPAN class="class">unaAbstractGate</SPAN></A>.enter(timeout: unsigned = INFINITE; const masterName: string = ''): bool;</SPAN><P />
      Enters the gate. timeout parameter specifies the amount of time (in milliseconds) attempt to enter the gate should last.
      Returns false if gate cannot be entered and timeout was expired.
      Returns true if gate was entered successfully.
      Default timeout value is INFINITE. That means routine should wait forever, until gate will be freed.
      Use this default value carefully, as it could lead to deadlocks in your application.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaAbstractGate"><SPAN class="class">unaAbstractGate</SPAN></A>.leave();</SPAN><P />
      Every successful enter() must be followed by leave().
      Do not call leave() unless enter() returns true.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaAbstractGate"><SPAN class="class">unaAbstractGate</SPAN></A>.masterName: string;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaAbstractGate"><SPAN class="class">unaAbstractGate</SPAN></A>.isBusy: bool;</SPAN><P />
      Indicates if gate is busy by one ore more threads.
      Do not use this property if you want to make sure gate is free. Use enter() instead.
      The only good use for this property is in some kind of visual indication to end-user whether the gate is free.
    </TD></TR></TABLE></DIV>
<DIV><P /><H4>Class <A NAME="class_unaOutProcessGate"><SPAN class="class">unaOutProcessGate</SPAN></A>(<A HREF="#class_unaAbstractGate"><SPAN class="class">unaAbstractGate</SPAN></A>)</H4><P />
    This class is useful when you wish to ensure some block of code to be executed only by one thread at a time.
    Only one instance can enter the gate. You should use <STRONG>try</STRONG> <STRONG>finally</STRONG> block to ensure you always leave the gate.
  <P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaOutProcessGate"><SPAN class="class">unaOutProcessGate</SPAN></A>.gateEnter(timeout: unsigned = INFINITE; const masterName: string = ''): bool; override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaOutProcessGate"><SPAN class="class">unaOutProcessGate</SPAN></A>.gateLeave(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">constructor <A HREF="#class_unaOutProcessGate"><SPAN class="class">unaOutProcessGate</SPAN></A>.create(const title: string = '');</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">destructor <A HREF="#class_unaOutProcessGate"><SPAN class="class">unaOutProcessGate</SPAN></A>.Destroy(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaOutProcessGate"><SPAN class="class">unaOutProcessGate</SPAN></A>.checkDeadlock(timeout: unsigned = INFINITE; const name: string = ''): bool;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaOutProcessGate"><SPAN class="class">unaOutProcessGate</SPAN></A>.title: string;</SPAN><P /></TD></TR></TABLE></DIV>
<DIV><P /><H4>Class <A NAME="class_unaInProcessGate"><SPAN class="class">unaInProcessGate</SPAN></A>(<A HREF="#class_unaAbstractGate"><SPAN class="class">unaAbstractGate</SPAN></A>)</H4><P />
    Only one thead at a time can enter this gate. This thread can enter the gate as many times as required.
    Gate will be released when thread will leave it exactly same number of times as was entered.
  <P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">function <A HREF="#class_unaInProcessGate"><SPAN class="class">unaInProcessGate</SPAN></A>.gateEnter(timeout: unsigned = INFINITE; const masterName: string = ''): bool; override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaInProcessGate"><SPAN class="class">unaInProcessGate</SPAN></A>.gateLeave(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaInProcessGate"><SPAN class="class">unaInProcessGate</SPAN></A>.AfterConstruction(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">procedure <A HREF="#class_unaInProcessGate"><SPAN class="class">unaInProcessGate</SPAN></A>.BeforeDestruction(); override;</SPAN><P /></TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaInProcessGate"><SPAN class="class">unaInProcessGate</SPAN></A>.owningThreadId: unsigned;</SPAN><P />
      Owning thread ID.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaInProcessGate"><SPAN class="class">unaInProcessGate</SPAN></A>.recursionLockCount: int;</SPAN><P />
      Number of locks made by owning thread.
    </TD></TR></TABLE><P /><TABLE BORDER="1" width="100%"><TR><TD><SPAN class="source">property <A HREF="#class_unaInProcessGate"><SPAN class="class">unaInProcessGate</SPAN></A>.tryLockCount: int;</SPAN><P />
      Gate try lock count. Number of tries made to lock the gate at the same time from different threads.
      <BR />zero when gate is free.
      Avoid the usage "if (0 = lockCount) then ..." for checking the gate availability.
      Use "if (gateEnter(0)) then try ... finally gateLeave(); end;" code instead.
    </TD></TR></TABLE></DIV>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -