hiya,

I have a code snippet that looks like:

typedef int (*SQLITE3_CLOSE)(sqlite3*);
typedef const char* (*SQLITE3_ERRMSG)(sqlite3*);
typedef int (*SQLITE3_OPEN)(const char*, sqlite3**);
typedef int (*SQLITE3_EXEC) (sqlite3*, const char*, sqlite3_callback, void*,
char**);

HINSTANCE sqlite3_dll;

SQLITE3_CLOSE _sqlite3_close;
SQLITE3_ERRMSG _sqlite3_errmsg;
SQLITE3_OPEN _sqlite3_open;
SQLITE3_EXEC _sqlite3_exec;

int DB_Init()
{
    sqlite3_dll = LoadLibrary("sqlite3.dll");
    if (sqlite3_dll == NULL) {
         printf("Cannot find sqlite3.dll. Make sure its in the same
directory as the program\n");
         return 0;
    }

    _sqlite3_open = (SQLITE3_OPEN)GetProcAddress(sqlite3_dll,
"sqlite3_open");
    if (_sqlite3_open == NULL) {
        printf("Cannot load function sqlite3_open");
        return 0;
    }
}

problem is, when ever i call DB_Init(), it always fails with 'Cannot load
function sqlite3_open'. But it successfully passes the LoadLibrary portion.
I'm not a win32 guru, so i'm willing to admit i've made a mistake somewhere.

Any ideas on what i'm doing wrong?

I'm using Turbo C++ 4.5 IDE and related tools. (yeah... i know turbo
C++ 4.5is realy aged, but could this be the problem?)

Essien

Reply via email to