안녕하세요.

아래는 인터넷에 돌아다니는 시계 소스입니다. 

A1셀에  시간이 12:32:00 의 형식으로 보여지며 매  1초마다 시간이 갱신되요.

근데 이게 64비트에서는 컴파일도 되고, 에러도 없습니다. 시계 [ 시작 ] 누르면  시간도 잘 갑니다. 근데 32bit 에서는 컴파일에러에 변수선언도 잘못되었다고 나오고 소스를 고치면 컴파일은 또 잘 되는데, 정작 시계 [ 시작 ] 누르면 에러창이 뜹니다. 

그 이유를 인터넷에 찾아서 뒤져봤는데 64bit 는 Long 변수타입이 달라 LongPtr을 해야한다든가,  Function 앞에 PtrSafe를 부쳐야 한다든가, 뭐 대충 변수범위가 64bit  와  32bit 가 서로 달라서 생기는 문제인듯 해요. 

근데 그렇게 이해만 했지, 문제를 해결하지는 못했어요. 제가 원하는 것은 64비트에서 잘 되는 것이 아니라, 32비트에서도 잘 되는 것을 원합니다. 현재 올려드린 소스는 64비트에서 매우 잘 되는 소스입니다. 

# If Win32 Then

#Else Win64 Then 

이 문구도 써봤는데 실패했습니다. 

제가 원하는 것 :

위 시계가 64bit 와  32bit 모두 양쪽에서 아무 컴파일에러도 없이 잘 돌아가게 소스를 고쳐주시면 감사드리겠습니다. LongPtr 아무리 삽입/삭제 해도 안되더라구요. 컴파일 후에 시계 [ 시작 ] 을 누르면 정말 시계가 잘 갱신되면 좋겠습니다. 소스를 고치면, 컴파일에러는 사라지더라도  정작 [ 시작] 을 누르면 또 에러가 나기도 합니다. 

감사합니다.

 

제가 시도했던 것 : 

32bit 에서는 function 선언 앞에 불필요한 ptrsafe f를 삭제하라고 해서 했더니, 컴파일 됨. 근데 시계는 안감.

32bit 에서 사용안하는 일단 LongLong 을 Long으로 변경했지만, 컴파일 에러는 멈추지 않음.