我刚开始学习线程,还什么都不会呢,希望大家多帮忙,请问应该怎么实现这样的程序结构
1.我有一个工程,我想在创建工程前调用一个线程,如果这个线程执行后计算的值是1就不进入此工程
2.退出工程的时候清理掉此线程
1.我有一个工程,我想在创建工程前调用一个线程,如果这个线程执行后计算的值是1就不进入此工程
2.退出工程的时候清理掉此线程
解决方案 »
- 请求各位大人解答一下如何才在三层架构中调用中间层中的函数呢???
- 怎样把unit编写成DLL文件
- ADO理论问题
- 在一个窗体上,如何用两个Windows Media Player控件来同步显示.打开一个文件?delphi是否支持这功能??
- 我的intraweb程序为什么不能显示中文?
- 请教!100分 如何将Excel的数据导入到数据库中 请指教,谢谢!(很着急!!!)
- 请问有没有开放滚动事件的GRIDE控件?
- Delphi什么时候才能赶上VB呢?
- fengerfeifei(风儿飞飞)在哪?
- delphi xe10 indy httpserver webservice 怎么支持远端JS跨域调用
- delphi MAC地址怎么转换成字符串
- 杭州哪地方可以找到优质的保姆
Forms,
Unit1 in 'Unit1.pas' {Form1};{$R *.res}begin
if myProc = 1 then
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
end.
Forms,
Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin
if myProc = 1 then
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
end.
是怎么得来的,能写点具体的代码吗?在线程方面我是个初学者
//工程文件
program Project1;uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas'; {TTesthread}var
Test: TTestThread;{$R *.res}begin
R := 0;
Test := TTestThread.Create(False);
Test.WaitFor;
if R = 1 then
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
end.//线程单元
unit Unit2;interfaceuses
Classes;type
TTestThread = class(TThread)
protected
procedure Execute; override;
end;implementationprocedure TTestThread.Execute;
begin
R := 1; //你在这里判断后再给R赋值到底是0还是1。
end;end.
这就是你想要的了. 给你写好代码了. 发帖急需分啊......
关键在与Test.WaitFor;
就是等待线程执行完了才继续执行下面的代码.
//工程文件
program Project1;uses
Forms,
Windows,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas'; {TTesthread}var
Test: TTestThread;{$R *.res}begin
R := 0;
Test := TTestThread.Create(False);
Test.WaitFor;
if R = 1 then
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
end.//线程单元
unit Unit2;interfaceuses Windows, Classes;type
TTestThread = class(TThread)
protected
procedure Execute; override;
end;var
R: DWORD;implementationprocedure TTestThread.Execute;
begin
R := 1; //你在这里判断后再给R赋值到底是0还是1。
end;end.