Форум: "Основная";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];
ВнизError Code 6 Найти похожие ветки
← →
c0pYc@t (2002-07-26 12:40) [0]Неверный дескриптер
Люди чё это вообще такое, и с чем это едят ))
← →
Виктор Щербаков (2002-07-26 12:42) [1]Сообщение об ошибке.
Есть это не нужно, нужно делать выводы.
Приводи проблемный код.
← →
c0pYc@t (2002-07-26 12:45) [2]Вот код сначало все ок, ни чего не менял и глючит
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp,Unit2, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Button2: TButton;
Button3: TButton;
procedure ServerSocket1Accept(Sender: TObject;
Socket: TCustomWinSocket);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
index: LongInt = 0;
count: LongInt = 0;
implementation
{$R *.dfm}
procedure TForm1.ServerSocket1Accept(Sender: TObject;
Socket: TCustomWinSocket);
begin
//socket.
end;
procedure TForm1.Button1Click(Sender: TObject);
var k:boolean;
begin
item.index := index;
item.A := StrToInt(Edit1.Text);
item.B := StrToFloat(Edit2.Text);
item.C := Edit3.Text;
SetLength(masthr,Length(masthr)+1);
//showmessage(InTToStr(Length(masthr)));
masthr[index] := TMyThr.Create(item);
index := index+1;
Edit1.Text := "";
Edit2.Text := "";
Edit3.Text := "";
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if count < index then
begin
//it.masitem[]
if masthr[count].Terminated then
begin
Edit4.Text := IntToStr(it.masitem[count].A);
Edit5.Text := FloatToStr(it.masitem[count].B);
Edit6.Text := it.masitem[count].C;
Edit7.Text := IntToStr(it.masitem[count].index);
end;
count := count + 1;
end
else showmessage("Усё Конец");
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
InitUnit;
//masthr:= nil;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
count := 0;
end;
end.
unit Unit2;
interface
uses
Classes, Dialogs, SysUtils;
type
TMyParametr = record
index: LongInt;
A: integer;
B: real;
C: string;
end;
TMyThr = class(TThread)
private
{ Private declarations }
ThrParam: TMyParametr;
Thrindex: LongInt;
protected
procedure Execute; override;
public
constructor Create(thrparams:TMyParametr);
procedure DoWork;
property Terminated;
end;
TMyThrConnect = record
masitem: array of TMyParametr;
end;
var
it: TMyThrConnect;
masthr: array of TMyThr = nil;
item: TMyParametr;
procedure InitUnit;
implementation
procedure InitUnit;
begin
if Length(it.masitem) = 0 then
SetLength(it.masitem,1);
end;
constructor TMyThr.Create(thrparams:TMyParametr);
begin
inherited Create(false);
FreeOnTerminate:=true;
ThrParam:=thrparams;
resume;
end;
procedure TMyThr.DoWork;
begin
//sleep(thrparam.A+10000);
thrparam.A := thrparam.A + thrparam.A;
thrparam.B := thrparam.B + thrparam.B;
thrparam.C := thrparam.C + thrparam.C;
if thrparam.index+1>Length(it.masitem) then begin
SetLength(it.masitem, thrparam.index+1);
end;
it.masitem[thrparam.index] := thrparam;
end;
{ TMyThr }
procedure TMyThr.Execute;
begin
DoWork;
showmessage("Ну че конец");
// Terminate;
{ Place thread code here }
end;
end.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.08.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c