Khi khai báo Object, chúng ta có hai cách khai báo phổ biến như sau:
Phương pháp 1: Sử dụng New
Phưong pháp 2: Sử dụng Set
Thông thường mọi người thích sử dụng cách 1 vì gõ code nhanh hơn.
Nhất là những người sử dụng máy tính xách tay, kích cỡ màn hình bé, nên viết code tiết kiệm được 1 dòng thì thích lắm.
Ta biết rằng, một số đối tượng, nó không lập tức được tạo ra. Khi ta sử dụng nó, nó sẽ được kiểm tra là đã tồn tại hay chưa, rồi mới được tạo ra. Việc này cũng có ưu điểm và nhược điểm.
Để đảm bảo đối tượng bị hủy (không cho tồn tại), tôi sẽ thiết định nó là Nothing. Hãy xem code dưới đây.
Kết quả:
Cái gì thế này, rõ ràng tôi đã thiết định là Nothing, tại sao nó vẫn hoạt động nhỉ?
Nào, hãy cùng tôi thực hiện ví dụ tiếp theo.
Lỗi 91 xảy ra, chương trình không chạy được. Bạn hãy tự kiểm chứng.
Như vậy, bằng thực nghiệm ta thấy rằng, nếu khai báo là New, dù hủy nó đi, sau đó nếu ta tiếp tục sử dụng lại, thì đối tượng này sẽ tự động được tạo ra.
Nhân tiện phải nói rằng, việc sử dụng các biến đối tượng không chỉ gói gọn trong việc sử dụng các thuộc tính hay thực thi phương thức.
Đoạn code dưới đây sẽ cho thấy rằng khi gán biến đối tượng là Nothing, rồi so sánh xem nó có phải là Nothing hay không, kết quả sẽ cho ra là False.
Còn nữa.
Dịch từ nguồn:
Phương pháp 1: Sử dụng New
Mã:
Dim C As New Collection
Mã:
Dim C As Collection
Set C = New Collection
Nhất là những người sử dụng máy tính xách tay, kích cỡ màn hình bé, nên viết code tiết kiệm được 1 dòng thì thích lắm.
Ta biết rằng, một số đối tượng, nó không lập tức được tạo ra. Khi ta sử dụng nó, nó sẽ được kiểm tra là đã tồn tại hay chưa, rồi mới được tạo ra. Việc này cũng có ưu điểm và nhược điểm.
Để đảm bảo đối tượng bị hủy (không cho tồn tại), tôi sẽ thiết định nó là Nothing. Hãy xem code dưới đây.
Mã:
Sub test1()
Dim C As New Collection
Set C = Nothing
C.Add "Tai sao thiet dinh la Nothing ma van Add duoc?"
MsgBox C.Item(1)
End Sub
Bạn cần đăng nhập để thấy đính kèm
Cái gì thế này, rõ ràng tôi đã thiết định là Nothing, tại sao nó vẫn hoạt động nhỉ?
Nào, hãy cùng tôi thực hiện ví dụ tiếp theo.
Mã:
Sub loisexayra()
Dim C As Collection
Set C = New Collection
Set C = Nothing
C.Add "Khong the add duoc"
MsgBox C.Item(1)
End Sub
Như vậy, bằng thực nghiệm ta thấy rằng, nếu khai báo là New, dù hủy nó đi, sau đó nếu ta tiếp tục sử dụng lại, thì đối tượng này sẽ tự động được tạo ra.
Nhân tiện phải nói rằng, việc sử dụng các biến đối tượng không chỉ gói gọn trong việc sử dụng các thuộc tính hay thực thi phương thức.
Đoạn code dưới đây sẽ cho thấy rằng khi gán biến đối tượng là Nothing, rồi so sánh xem nó có phải là Nothing hay không, kết quả sẽ cho ra là False.
Mã:
Sub KhongTheTroThanhNothing()
Dim C As New Collection
Set C = Nothing
Debug.Print C Is Nothing
Set C = Nothing
Debug.Print C Is Nothing
End Sub
Bạn cần đăng nhập để thấy đính kèm
Còn nữa.
Dịch từ nguồn:
Bạn cần đăng nhập để thấy link