가끔 창조를 사용하다 보면 도무지 어찌할 수 없는(?) 오류 메시지를 만날 때가 있습니다.
특히 제대로 한 것 같은데 이상한 곳에서 영어로 오류 메시지가 뜨곤 합니다.
// 아래 코드는 확실하게 "Invalid variant type conversion." 오류가 납니다.
ㅎ버튼: 버튼;
버튼.보여;
예를 들어 위 코드를 버튼0 클릭했을때 사건에 넣었다고 합시다.
그리고 버튼0을 누르면
---------------------------
Projectn
---------------------------
Invalid variant type conversion.
---------------------------
확인
---------------------------
뭐 이런 오류 메시지가 뜹니다.
그! 러! 나!
시계0을 하나 추가해서 시계가 작동될때에 이렇게 해보세요.
제어는 참, 시간간격은 50 정도로 지정해줍니다.
// 한 번만 하도록 시계를 일단 끕니다.
시계0.제어 := 거짓;
// 버튼을 대신 눌러줍니다.
버튼0.눌러;
이렇게 하면 시계가 자동으로 버튼을 눌러주게 됩니다. 그런데 이렇게 하면 오류 메시지가 안 뜹니다.
Access violation at address ???????? in module 'Projectn.exe'. Read of address 00000000.
이런 메시지도 잡아 먹는다는 것이 확인되었습니다.
즉, 화면에 안 보이는 객체에서 명령을 실행하면 (영어로 된) 오류 메시지도 안 뜹니다.
이상하게도 위 예제에서 버튼0에 있는 코드를 시계0에 바로 넣으면 오류가 뜹니다만, 버튼0.눌러; 하는 식으로 해주면 오류가 뜨지 않습니다.
버튼 보다는 안 보이는 메뉴로 코드를 넣어주는게 더 효율적일 것 같네요.
시계 뿐 아니라 사용자함수도 화면에 안 보이는 객체입니다.
시계 대신 사용자함수에 넣으면 마찬가지로 오류를 먹습(?)니다.
결론.
(영어로 된) 오류 메시지가 수시로 뜨는 코드는 사용자함수에 넣거나, 시계를 이용해서 간접적으로 호출해주는 것이 좋습니다.