Показать сообщение отдельно
  #15  
Старый 19.10.2023, 12:25
leon2009 leon2009 вне форума
Новичок
 
Регистрация: 18.03.2009
Сообщения: 71
Репутация: 10
Сообщение пример

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
TMyThread = class(TThread)
    SQLConnection1: TSQLConnection;
    SQLTable1: TSQLTable;
    DataSetProvider1: TDataSetProvider;
    ClientDataSet1: TClientDataSet;
    DataSource1: TDataSource;
    SQLQuery1: TSQLQuery;
    Memo1: TMemo;
        private
            { Private declarations }
        protected
            procedure Execute; override;
          procedure AddToDbCb(AFileName: String; ASize: Integer);
        end;
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
procedure TMyThread.AddToDbCb(AFileName:String; ASize: Integer);
begin
SqlConnection1.Open;
try
 
  SqlQuery1.SQL.Text := 'INSERT INTO test1 (id, name, reviews, size, attribute) VALUES (:id, :name, :reviews, :size, :attribute)';
 
  SqlQuery1.ParamByName('id').AsInteger := 1;
  SqlQuery1.ParamByName('name').AsString := AFileName;
  SqlQuery1.ParamByName('reviews').AsInteger := random(5);// Arews;
  SqlQuery1.ParamByName('size').AsInteger := ASize; //inttostr(imgsize);
  SqlQuery1.ParamByName('attribute').AsString := 'gggggg';
  SQLQuery1.ExecSQL;
  Memo1.Lines.Add('Запись_добавлена='+Afilename+inttostr(ASize));
finally
SqlConnection1.Close;
end;
end;
а тут столкнулся
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.Button3Click(Sender: TObject);
var
  obj : TFileItemData; i:integer;
begin
 
  if ListBox2.Count =14 then
    begin
    for i := 0 to  ListBox2.Count-1 do  begin
      obj := ListBox2.Items.Objects[i] As TFileItemData;
      TMyThread.AddToDbCb(obj.AFileName,obj.ASize);
      progressbar1.Position:=i;
    end;
end;
end;
Код:
1
TMyThread.AddToDbCb(obj.AFileName,obj.ASize);
так? а чтобы не ругался на TMyThread.AddToDbCb(obj.AFileName,obj.ASize) сделать отдельные функции?
Ответить с цитированием