本文整理汇总了C++中OTE::isNil方法的典型用法代码示例。如果您正苦于以下问题:C++ OTE::isNil方法的具体用法?C++ OTE::isNil怎么用?C++ OTE::isNil使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OTE
的用法示例。
在下文中一共展示了OTE::isNil方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CbtFilterHook
LRESULT CALLBACK Interpreter::CbtFilterHook(int code, WPARAM wParam, LPARAM lParam)
{
// Looking for HCBT_CREATEWND, just pass others on...
if (code == HCBT_CREATEWND)
{
//ASSERT(lParam != NULL);
//LPCREATESTRUCT lpcs = ((LPCBT_CREATEWND)lParam)->lpcs;
//ASSERT(lpcs != NULL);
OTE* underConstruction = m_oteUnderConstruction;
if (!underConstruction->isNil())
{
// Nil this out as soon as possible
m_oteUnderConstruction = Pointers.Nil;
underConstruction->countDown();
ASSERT(wParam != NULL); // should be non-NULL HWND
// set m_bDlgCreate to TRUE if it is a dialog box
// (this controls what kind of subclassing is done later)
//pThreadState->m_bDlgCreate = (lpcs->lpszClass == WC_DIALOG);
// Pass to Smalltalk for subclassing (catch unwind failures so not thrown out)
subclassWindow(underConstruction, HWND(wParam));
}
}
return ::CallNextHookEx(hHookOldCbtFilter, code, wParam, lParam);
}
示例2: primitiveHookWindowCreate
BOOL __fastcall Interpreter::primitiveHookWindowCreate()
{
Oop argPointer = stackTop();
OTE* underConstruction = m_oteUnderConstruction;
OTE* receiverPointer = reinterpret_cast<OTE*>(stackValue(1));
if (!underConstruction->isNil() && underConstruction != receiverPointer)
{
// Hooked by another window - fail the primitive
return primitiveFailureWith(1, underConstruction);
}
if (argPointer == Oop(Pointers.True))
{
// Hooking
if (underConstruction != receiverPointer)
{
ASSERT(underConstruction->isNil());
m_oteUnderConstruction= receiverPointer;
receiverPointer->countUp();
}
}
else
{
if (argPointer == Oop(Pointers.False))
{
// Unhooking
if (underConstruction == receiverPointer)
{
tracelock lock(TRACESTREAM);
TRACESTREAM << "WARNING: Unhooking create for " << hex << underConstruction << " before HCBT_CREATEWND" << endl;
ObjectMemory::nilOutPointer(m_oteUnderConstruction);
}
else
ASSERT(underConstruction->isNil());
}
else
return primitiveFailureWith(0, argPointer); // Invalid argument
}
popStack();
return TRUE;
}