2012-12-17 2 views
0

Postgis Point를 사용하는 c에서 Postgresql 확장을 만들고 있습니다.C 코드에서 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"); 
    } 

이 사람이 나를 도울 수 : 나는, 실패로드 한 후 PostGIS와-1.5.dll의 함수를 호출하려고 내가 얻을 때 다음 오류 메시지 내 코드의 작은 부분은 무엇입니까?

답변

1

이 소스를보고 도움이 될 수 있습니다 : 당신은 실패되고 있는지 lwgeom_is_empty from PostGIS Trunk

있습니까? 위의 코드는 함수 호출의 반환 값을 테스트하지 않습니다. 다음은 무엇을 하는가?

if (!ST_empty(p)) 
    elog(ERROR,"not empty"); 

브라이언

관련 문제