I write my dll files in visual studio 2010.The dll file (name fservice.dll), 
which has an external function, code write in c++ (VS2010, I have dll and lib 
files)char * convert(char *)I
 tested my fservice.dll in console application which called function in 
this dll. It was work fine. I have a problem when a write and tests in 
Postgrsql.Dll file witch has c-function, who exports and imports to 
postgresql:  #include "postgres.h"
#include "fmgr.h" #include #include typedef char* (__cdecl *MYPROC)(char * 
value); __declspec( dllexport ) PG_FUNCTION_INFO_V1(transform); __declspec( 
dllexport ) Datum transform (PG_FUNCTION_ARGS) { HINSTANCE hinstLib= 
LoadLibrary("fservice.dll"); char * pointer; text *t = PG_GETARG_TEXT_P(0);if 
(hinstLib != NULL){  ProcAdd = (MYPROC) GetProcAddress(hinstLib, "convert");  
pointer=ProcAdd("text"); FreeLibrary(hinstLib); }else PG_RETRUN_NULL(); /* 
* code */ PG_RETURN_TEXT_P(new_t); }I
 have a problem because, mod is doesn't exists. Path to dll file I check
 before write. Compile this c-function, and when i debug i saw it 
HINSTANCE hinstLib it wasn't created. It wasn't NULL or any value, It 
wasn't exist. Finally my c-function doesn't use my function form 
external dll.How load dll and use my external function ?My external function 
form dll and LoadLibrary() is not called by dll program with called by 
Postgresql, Why? Przemek

Reply via email to