Это не помогло. Наверное вопрос из разряда невыполнимых хотелок...
На WinXP такой код нормально работает.
If OpenWindow(0, 0, 0, 400, 100, "Timer Example", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
AddWindowTimer(0, 123, 250)
CatchImage(0, ?ImageSaveFile, ?ImageSaveFileend-?ImageSaveFile)
CatchImage(1, ?RecentString, ?End_RecentString-?RecentString)
Value = 0
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Timer And EventTimer() = 123
Value + 1
If Value & 1
SendMessage_(WindowID(0), #WM_SETICON, #False, ImageID(1))
Else
SendMessage_(WindowID(0), #WM_SETICON, #False, ImageID(0))
EndIf
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
DataSection
ImageSaveFile:
Data.b $00,$00,$01,$00,$01,$00,$10,$10,$00,$00,$01,$00,$04,$00,$28,$01,$00,$00,$16,$00
Data.b $00,$00,$28,$00,$00,$00,$10,$00,$00,$00,$20,$00,$00,$00,$01,$00,$04,$00,$00,$00
Data.b $00,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$80,$00,$00,$00,$00,$80,$00,$00,$80,$80,$00,$00,$00,$00
Data.b $80,$00,$80,$00,$80,$00,$00,$80,$80,$00,$C0,$C0,$C0,$00,$80,$80,$80,$00,$FF,$00
Data.b $00,$00,$00,$FF,$00,$00,$FF,$FF,$00,$00,$00,$00,$FF,$00,$FF,$00,$FF,$00,$00,$FF
Data.b $FF,$00,$FF,$FF,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$11,$18,$88,$88,$81
Data.b $11,$00,$01,$99,$97,$11,$FF,$71,$19,$10,$01,$99,$9F,$11,$FF,$71,$19,$10,$01,$99
Data.b $9F,$11,$FF,$71,$19,$10,$01,$99,$97,$F7,$7F,$71,$19,$10,$01,$99,$99,$99,$99,$99
Data.b $99,$10,$01,$99,$99,$99,$99,$99,$99,$10,$01,$9F,$FF,$FF,$FF,$FF,$F9,$10,$01,$9F
Data.b $FF,$FF,$FF,$FF,$F9,$10,$01,$9F,$F7,$77,$77,$7F,$F9,$10,$01,$9F,$FF,$FF,$FF,$FF
Data.b $F9,$10,$01,$9F,$F7,$77,$77,$7F,$F9,$10,$01,$9F,$FF,$FF,$FF,$FF,$F9,$10,$00,$17
Data.b $77,$77,$77,$77,$71,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FF,$FF,$00,$00,$C0,$03
Data.b $00,$00,$80,$01,$00,$00,$80,$01,$00,$00,$80,$01,$00,$00,$80,$01,$00,$00,$80,$01
Data.b $00,$00,$80,$01,$00,$00,$80,$01,$00,$00,$80,$01,$00,$00,$80,$01,$00,$00,$80,$01
Data.b $00,$00,$80,$01,$00,$00,$80,$01,$00,$00,$C0,$03,$00,$00,$FF,$FF,$00,$00
ImageSaveFileend:
RecentString: ; 318
Data.b $00,$00,$01,$00,$01,$00,$10,$10,$00,$00,$01,$00,$04,$00,$28,$01,$00,$00,$16,$00
Data.b $00,$00,$28,$00,$00,$00,$10,$00,$00,$00,$20,$00,$00,$00,$01,$00,$04,$00,$00,$00
Data.b $00,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$80,$00,$00,$00,$00,$80,$00,$00,$80,$80,$00,$00,$00,$00
Data.b $80,$00,$80,$00,$80,$00,$00,$80,$80,$00,$C0,$C0,$C0,$00,$80,$80,$80,$00,$FF,$00
Data.b $00,$00,$00,$FF,$00,$00,$FF,$FF,$00,$00,$00,$00,$FF,$00,$FF,$00,$FF,$00,$00,$FF
Data.b $FF,$00,$FF,$FF,$FF,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $99,$00,$00,$01,$90,$00,$00,$09,$90,$00,$00,$99,$00,$00,$00,$99,$00,$00,$09,$90
Data.b $00,$00,$09,$90,$00,$00,$99,$00,$00,$00,$09,$90,$00,$00,$99,$00,$00,$00,$00,$99
Data.b $00,$00,$09,$90,$00,$00,$00,$08,$90,$00,$00,$89,$00,$00,$00,$00,$79,$00,$00,$07
Data.b $90,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$FF,$FF,$00,$00,$FF,$FF
Data.b $00,$00,$FF,$FF,$00,$00,$F0,$E1,$00,$00,$E1,$C3,$00,$00,$C3,$87,$00,$00,$87,$0F
Data.b $00,$00,$0E,$1F,$00,$00,$0E,$1F,$00,$00,$87,$0F,$00,$00,$C3,$87,$00,$00,$E1,$C3
Data.b $00,$00,$F0,$E1,$00,$00,$FF,$FF,$00,$00,$FF,$FF,$00,$00,$FF,$FF,$00,$00
End_RecentString:
EndDataSection
можно ли как-то заставить процедуру работать как переменная tt, без использования глобальной переменной? то есть, при вызове её в основном цикле программы локальная переменная ttt наращивалась. Я подозреваю что без глобальной ни как, так как постоянно создается новая переменная. Может есть выход?
)