• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Chạy hàm đa luồng có tham số [help]

Góc trao đổi, hỏi đáp của ngôn ngữ Visual Basic 6 và Visual Basic Script

Điều hành viên: tungblt

Hình đại diện của người dùng
UFO
Thành viên tích cực
Thành viên tích cực
Bài viết: 133
Ngày tham gia: T.Bảy 08/06/2013 10:04 am
Has thanked: 19 time
Been thanked: 14 time

Chạy hàm đa luồng có tham số [help]

Gửi bàigửi bởi UFO » CN 27/05/2018 10:19 pm

Làm sao để sử dụng hàm RUN trong đa luồng được vậy các bác, nếu chạy thế kia thì khi nào Call Run(Label1, 0) chạy xong nó mới chạy cái thứ 2 :-<

  1. Private Sub Run(lb As Label, i As Long)
  2.     Do While True
  3.         i = i + 1
  4.         lb.Caption = i
  5.  
  6.         Sleep 200
  7.         DoEvents
  8.     Loop
  9. End Sub
  10.  
  11. Private Sub Command1_Click()
  12.     Call Run(Label1, 0) '
  13.     Call Run(Label2, 0)
  14. End Sub



Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4758
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 513 time

Re: Chạy hàm đa luồng có tham số [help]

Gửi bàigửi bởi truongphu » T.Hai 28/05/2018 4:37 pm

UFO đã viết:Private Sub Command1_Click()

Trong Sub hay function, chỉ chạy trên 1 luồng. Các lệnh tuần tự thực hiện
Và thông thường, khi Sub hay function nào đó đang thi hành, ngừng các sub khác

UFO đã viết:Do While True
i = i + 1


Đây là lệnh vô tận (khoảng hơn 2 tỉ) làm sao đến lượt Call Run(Label2)?


UFO đã viết:khi nào Call Run(Label1, 0) chạy xong nó mới chạy cái thứ 2


1- Bạn cho điều kiện vd i=20 thì ngừng:

Mã: Chọn hết

Do
...
Loop until i =20


2- Muốn cùng chạy (đa luồng), bạn tham khảo:
http://www.caulacbovb.com/forum/viewtop ... 82#p155082
DCS - Mã nguồn VB6 Multithreading (đa nhiệm cho vb6) - Dark.Cosmos
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
UFO
Thành viên tích cực
Thành viên tích cực
Bài viết: 133
Ngày tham gia: T.Bảy 08/06/2013 10:04 am
Has thanked: 19 time
Been thanked: 14 time

Re: Chạy hàm đa luồng có tham số [help]

Gửi bàigửi bởi UFO » T.Ba 29/05/2018 3:06 pm

Vâng cảm ơn bác trường phu đã trả lời, e muốn cho nó chạy đa luồng mà ko biết vb6 làm thế nào cả
code bên c# của e, ko biết bên vb6 convert sao nữa bác
  1.         Thread[] threadsArray = new Thread[100];
  2.         public class Users
  3.         {
  4.             public Label lb;
  5.             public void Run()
  6.             {
  7.                 for (int i = 1; i <= 100000; i++)
  8.                 {
  9.                     lb.Text = i.ToString();
  10.                     //Thread.Sleep(100);
  11.                 }
  12.             }
  13.         }
  14.  
  15.         private void button1_Click(object sender, EventArgs e)
  16.         {
  17.             Users user = new Users();
  18.             user.lb = label1;
  19.             threadsArray[1] = new Thread(user.Run);
  20.             threadsArray[1].IsBackground = true;
  21.             threadsArray[1].Start();
  22.            
  23.             user.lb = label2;
  24.             threadsArray[2] = new Thread(user.Run);
  25.             threadsArray[2].IsBackground = true;
  26.             threadsArray[2].Start();
  27.         }
  28.  


Quay về “Visual Basic 6 và Visual Basic Script (VB & VBS)”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.10 khách