หลายครั้งที่เราเขียนโปรแกรม อาจจะเจอ Error มาบ้าง แต่ Error วันนี้ผมว่าเป็นกรณีศึกษาที่ดีสำหรับคนที่เขียน VBA กับ VB6 นะครับ โดยเฉพาะคนที่ชอบเขียนโปรแกรม โดยอาศัย Event ต่างๆนะครับ ระวังจะทำให้เกิด Recursive ของ Event ทำให้เกิด Run time error 28- Out of stack space ดังตัวอย่างต่อไปนี้
ถ้ามีโจทย์ หรือ Business ที่ว่า ถ้า Check Box A ถูกติ๊กแล้ว Check Box B ต้องไม่ติ๊ก เมื่อเรา Assign ค่าให้กับ Check Box จะทำให้เกิด Event Check ขึ้นนะครับ ทำให้โปรแกรมของเราเกิด Error นะครับ
- ดัก Event Click ตอนแรกทำได้
- แต่พอ Untick แล้วมาคลิกใหม่ทำไมต้องคลิกเบิ๊ล
- ใส่ Code เพิ่มเพื่อให้มัน Assign ค่าใหม่
- ผล คือ ว่ามันไป Fire Event Click จน Call Stack เต็มจน Error
ท้าย่ที่สุดต้องมากำหนด Flag ดัก เพื่อมากันเรื่องนี้ครับ
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.