edit Solved it, still don't know what the problem was, but it is working now

As the title says I have a problem when trying to return a string.
My program just crashes when calling the
get_class_name function
These are my functions:
EXPORT DWORD get_class_name( LPSTR OldStr, int index )
{
db.deleteString(OldStr);
return db.String("test");
}
DWORD DBPro::String(LPSTR pstring )
{
LPSTR rString=NULL;
if(pstring)
{
int size=strlen(pstring);
Core->CreateDeleteString ( (DWORD*)&rString, size+1 );
strcpy(rString, pstring);
}
return (DWORD)rString;
}
void DBPro::deleteString(LPSTR targetString )
{
if(targetString)
Core->CreateDeleteString ( (DWORD*)&targetString, 0 );
}
Stringtable:
"GET OBJECT CLASS[%SL%?get_class_name@@YAKPADH@Z"