我在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");
}
有人可以帮助我吗?
答案 0 :(得分:1)
查看来源可能会有所帮助: lwgeom_is_empty from PostGIS Trunk
你确定它失败了吗?上面的代码不测试函数调用的返回值。以下是做什么的?
if (!ST_empty(p))
elog(ERROR,"not empty");
布赖恩