我正在用c创建一个使用Postgis Point的Postgresql扩展。 当我尝试调用 Postgis-1.5 的函数时.dll加载后,它失败并且没有收到任何错误消息这是我代码的一小部分:
Point *pt =(Point*) palloc(sizeof(Point));
bool test;
HINSTANCE DLLHandle;
typedef bool(*ST_empty)(Point*);
ST_emptyPtr ST_empty;
pt->x = 0.2;
pt->y = 0.9;
DLLHandle = LoadLibrary(L"postgis-1.5.dll");
ST_empty = (ST_emptyPtr)GetProcAddress(DLLHandle,"LWGEOM_isempty");
if (DLLHandle != NULL){
if(!ST_empty)
elog(ERROR,"null ehhhh");
test = ST_empty(p);
elog(ERROR,"not empty");
}
谁能帮我?
查看源代码可能会有所帮助:从邮政地理信息系统中继lwgeom_is_empty
你确定它失败了吗?上面的代码不测试函数调用的返回值。以下有什么作用?
if (!ST_empty(p))
elog(ERROR,"not empty");
布莱恩