📄 bgsynchronizer.pro
字号:
/*****************************************************************************
Copyright (c) Prolog Development Center A/S
******************************************************************************/
implement bgSynchronizer
open core
constants
className = "background/bgSynchronizer".
classVersion = "$JustDate: 2007-04-20 $$Revision: 2 $".
constants
backgroundEvent : integer = 111111.
class facts
dontGC : (runnable Runnable).
clauses
tryHandleEvent(vpiDomains::e_User(backgroundEvent, Data)) :-
Runnable = uncheckedConvert(core::runnable, Data),
retractAll(dontGC(Runnable)),
!,
Runnable(),
succeed().
clauses
postRunnable(Runnable) :-
AppWin = applicationWindow::get(),
Persistent = bgJobSupport::makeRunnablePersistent(Runnable),
assert(dontGC(Persistent)),
Data = uncheckedConvert(integer, Persistent),
AppWin:postUserEvent(backgroundEvent,Data).
clauses
postResult(Result) :-
postRunnable(Result:result).
clauses
write(...) :-
postResult(bgmsg::newWrite(...)).
clauses
writef(F, ...) :-
postResult(bgmsg::newWritef(F, ...)).
clauses
startJob(Job) = bgJobSupport::startJob(Job).
clauses
classInfo(className, classVersion).
end implement bgSynchronizer
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -