高手帮一吧!!!!!!!!!!!(50分)

Q

qzmin

Unregistered / Unconfirmed
GUEST, unregistred user!
能否给一个多线程的例子.最好简单,有注解的框架.
我想完成主线程在运行一个BAT类型的文件用来做文件复制.
次线程运行一个新的窗体,显示'正在复制'的字样.
 
delphi 本身带有多线程演示,
还有
delphi5.0程序设计 高级编程篇,这本书不错,可以下载来看,
 
delphi->demo
 
这个程序要用多线程吗?
其实,delphi中的demo是很好的例子,可以经常看看。
 
对不起,哪有delphi->demo,怎样运行!
 
例如:
C:/Program Files/Borland/Delphi6/Demos/Threads
 
同意楼上的.
 
我有一个小的多线程的例子。
http://jjb.swaysoft.com/CodeDetail.asp?id=4
 
function WinExecAndWait32(FileName:String;
Visibility : integer): DWORD;
var
zAppName:array[0..512] of char;
zCurDir:array[0..255] of char;
WorkDir:String;
StartupInfo:TStartupInfo;
ProcessInfo:TProcessInformation;
begin
StrPCopy(zAppName,FileName);
GetDir(0,WorkDir);
StrPCopy(zCurDir,WorkDir);
FillChar(StartupInfo,Sizeof(StartupInfo),#0);
StartupInfo.cb := Sizeof(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := Visibility;
if not CreateProcess(
nil,
zAppName, { pointer to command line string }
nil, { pointer to process security attributes }
nil, { pointer to thread security attributes }
false, { handle inheritance flag }
CREATE_NEW_CONSOLE or { creation flags }
NORMAL_PRIORITY_CLASS,
nil, { pointer to new environment block }
nil, { pointer to current directory name }
StartupInfo, { pointer to STARTUPINFO }
ProcessInfo { pointer to PROCESS_INF }
)
then
Result := $FFFFFFFF else
begin
WaitforSingleObject(ProcessInfo.hProcess,INFINITE);
GetExitCodeProcess(ProcessInfo.hProcess,Result);
end;
end;
 
接受答案了.
 
顶部