Где определяется SetOaNoCache? - PullRequest
       16

Где определяется SetOaNoCache?

3 голосов
/ 16 февраля 2009

Попытка отключить BSTR-кэширование:

SetOaNoCache();

VC ++ компилятор вывод сборки :

  • 'SetOaNoCache': identifier not found

Не хочу использовать:

  • OANOCACHE = 1

Вопрос:

  • Где находится SetOaNoCache , определенный - заголовочный файл?

Ответы [ 2 ]

6 голосов
/ 16 февраля 2009

Не определено в заголовочном файле, оно находится в OLEAUT32.dll. Вы можете назвать это так:

<code>typedef int (*SETOANOCACHE)(void);</p>

<p>void DisableBSTRCache()
{
    HINSTANCE hLib = LoadLibrary("OLEAUT32.DLL");
    if (hLib != NULL)
    {
        SETOANOCACHE SetOaNoCache = (SETOANOCACHE)GetProcAddress(hLib, "SetOaNoCache");
        if (SetOaNoCache != NULL)
            SetOaNoCache();
        FreeLibrary(hLib);
    }
}
3 голосов
/ 16 февраля 2009

Это не так. Из библиотеки Win32 API, поставляемой с C ++ Builder:

Requirements

Windows XP: Requires Windows XP Service Pack 2 or later.

Windows 95/98: Not supported.

Header: Not supplied. Declare prototype as shown.

Library: Use oleaut32.lib.

Прототип, как показано:

inline void TurnOffCache ()
{
// Function prototype.
extern "C" SetOaNoCache(); 
// Turn off BSTR caching.
SetOaNoCache();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...