Next Call ReleaseDC(formhandle, dc) ''''释放资源! '''' Call EnterCriticalSection(sect) '''' 上下表示该处为临界区,如果要对工程全局变量做操作,最好在该区域内 '''' 否则线程同步过程中,非常容易让程序崩溃 '''' Call LeaveCriticalSection(sect) End Sub
Sub OutText2() ''''和过程一类似 Dim i As Long Dim dc As Long Dim s As String dc = GetDC(formhandle) For i = 1 To 100000 s = CStr(i) Call SetBkColor(dc, &HF0F0F0) Call TextOut(dc, 10, 80, s, Len(s)) ''''文本位置改变了 Call Sleep(20) ''''延时改变了 Next Call ReleaseDC(formhandle, dc) '''' Call EnterCriticalSection(sect) '''' Call LeaveCriticalSection(sect) End Sub
''''关于为何使用gdi 函数输出文本,这是一个很重要的内容; ''''程序在记数时用了难用的TextOut 函数,而没有使用标签控件,这是因为 ''''vb的组件不都是线程安全的,当多线程访问不是线程安全的组件,那么会 ''''产生严重错误。
''''mailto:chinasf@Hotmail.com ''''作者:萧寒(410000)
上一页 [1] [2] |