多线程的问题 大家帮我看看错在哪里?

BCBX 2004-08-30 11:09:57
unit Unit2;
interface
uses
Classes,StdCtrls;

type
TFuckYou = class(TThread)
constructor Create( var Memo1:TMemo;FuckStanm:String);
private

protected
procedure Execute; override;
procedure WriteFuckYou();
public
M_Memo:^TMemo;
M_FuckSay:String;
end;

implementation
constructor TFuckYou.Create( var Memo1:TMemo; FuckStanm:string);
begin
M_Memo:=@Memo1; //AV 错误
M_FuckSay:=FuckStanm;
Suspend();
FreeOnTerminate:=True;

end;

procedure TFuckYou.WriteFuckYou();
begin
M_Memo.Lines.Add(M_FuckSay);
end;

procedure TFuckYou.Execute;
begin
Synchronize(WriteFuckYou);
end;
end.


unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Unit2;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
public
FuckA,FuckB:TFuckYou;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
FuckA.Create(Memo1,'Fuck Your Mother');
FuckB.Create(Memo1,'Fuck Your!');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
FuckA.Resume();
FuckB.Resume();
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
FuckA.Terminate();
FuckB.Terminate();
end;
end.
得到了正确答案分会加上去的. 我这样是避免浪费
...全文
298 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
BCBX 2004-09-17
  • 打赏
  • 举报
回复
HELP ME!!
BCBX 2004-09-16
  • 打赏
  • 举报
回复
继续
yelei923 2004-09-14
  • 打赏
  • 举报
回复
分少也up
BCBX 2004-09-14
  • 打赏
  • 举报
回复
加分了
Jerry529 2004-09-13
  • 打赏
  • 举报
回复
M_Memo:=@Memo1; //AV 错误
你觉得这个指针你分配内存了吗?
cdsgajxlp 2004-09-13
  • 打赏
  • 举报
回复
分太少
nyf1220 2004-09-13
  • 打赏
  • 举报
回复
什么破程序,里面全是不文明语言,建议自己先修改
BCBX 2004-09-12
  • 打赏
  • 举报
回复
pop
BCBX 2004-09-05
  • 打赏
  • 举报
回复
up up to up
BCBX 2004-09-04
  • 打赏
  • 举报
回复
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Unit2;

type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
Fu_ckA,Fu_ckB:TFu_ckYou;
end;

var
Form1: TForm1;

implementation



{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
Fu_ckA.Create(Memo1,'Fu_ck Your Mother');
Fu_ckB.Create(Memo1,'Fu_ck Your!');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Fu_ckA.Resume();
Fu_ckB.Resume();
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Fu_ckA.Terminate();
Fu_ckB.Terminate();
end;

end.

unit Unit2;
interface
uses
Classes,StdCtrls;

type
TFu_ckYou = class(TThread)
constructor Create(Var Memo1:TMemo;Fu_ckStanm:String);
private
M_Memo:TMemo;//此处改了
M_Fu_ckSay:String;
protected
procedure Execute; override;
procedure WriteFu_ckYou();
end;

implementation
constructor TFu_ckYou.Create(Var Memo1:TMemo;Fu_ckStanm:String);
begin
M_Memo:=Memo1; //此处我也帮你改了一下,没有必要用指针

M_Fu_ckSay:=Fu_ckStanm;
Suspend();
FreeOnTerminate:=True;
inherited create(true);//要增加这一句,进行唤醒线程,否则一创建就被执行线程
end;

procedure TFu_ckYou.WriteFu_ckYou();
begin
M_Memo.Lines.Add(M_Fu_ckSay);
end;

procedure TFu_ckYou.Execute;
begin
Synchronize(WriteFu_ckYou);
end;
end.
chennai 2004-09-03
  • 打赏
  • 举报
回复
CSDN里是不是会检查回复内容是否有敏感词的啊?

害到我要翻译成中文才行。
chennai 2004-09-03
  • 打赏
  • 举报
回复
procedure TForm1.FormCreate(Sender: TObject);
begin
叼A:=T叼你.Create(Memo1,'叼你妈');
叼B:=T叼你.Create(Memo1,'叼你');
end;
本来想写详细一点的,
不过存在在FU等詞,居然不让回复
zwjchina 2004-09-03
  • 打赏
  • 举报
回复
楼上修改了后是哪里报错?报什么错?
BCBX 2004-09-03
  • 打赏
  • 举报
回复
加了3分了
cdsgajxlp 2004-09-01
  • 打赏
  • 举报
回复
1分,怎么分啊
BCBX 2004-09-01
  • 打赏
  • 举报
回复
回复: lionlsl(林)
按照你的做法还是不行的
M_Memo:=Memo1; //此处我也帮你改了一下,没有必要用指针
lionlsl 2004-08-31
  • 打赏
  • 举报
回复
unit Unit2;
interface
uses
Classes,StdCtrls;

type
TFuckYou = class(TThread)
constructor Create( var Memo1:TMemo;FuckStanm:String);
private

protected
procedure Execute; override;
procedure WriteFuckYou();
public
M_Memo:TMemo;//此处改了
M_FuckSay:String;
end;

implementation
constructor TFuckYou.Create( var Memo1:TMemo; FuckStanm:string);
begin
M_Memo:=Memo1; //此处我也帮你改了一下,没有必要用指针
M_FuckSay:=FuckStanm;
Suspend();
FreeOnTerminate:=True;
inherited create(true);//要增加这一句,进行唤醒线程,否则一创建就被执行线程
end;

procedure TFuckYou.WriteFuckYou();
begin
M_Memo.Lines.Add(M_FuckSay);
end;

procedure TFuckYou.Execute;
begin
Synchronize(WriteFuckYou);
end;
end.


unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Unit2;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
public
FuckA,FuckB:TFuckYou;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
FuckA.Create(Memo1,'Fuck Your Mother');
FuckB.Create(Memo1,'Fuck Your!');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
FuckA.Resume();
FuckB.Resume();
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
FuckA.Terminate();
FuckB.Terminate();
end;
end.
JavaD 2004-08-31
  • 打赏
  • 举报
回复
M_Memo:^TMemo;
->
M_Memo:TMemo;
fei19790920 2004-08-31
  • 打赏
  • 举报
回复
得到了正确答案分会加上去的. 我这样是避免浪费
***********************
没诚意,懒得理你!
这样的事情我碰得多了,上当太多
BCBX 2004-08-31
  • 打赏
  • 举报
回复
HELP ME !

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧