Puesto que pasas de PRG a C, pierdes las variables por referencia. Salvo que la variable por referencia se convierta en un puntero a la variable.
Prueba asi:
- Code: Select all Expand view RUN
HB_EXPORT char * PASCAL _export HBDLLSTRING5( char * cProcName, char * cText1, HB_PTR cText2, char * cText3 )
{
PHB_ITEM pResult;
PHB_ITEM pItem1 = hb_itemPutC( NULL, cText1 );
PHB_ITEM pItem2 = hb_itemPutPtr( NULL, cText2 );
PHB_ITEM pItem3 = hb_itemPutC( NULL, cText3 );
MessageBox( 0, "Point in hbdllstring5", "1", 0 );
pResult = hb_itemDoC( cProcName, 3, pItem1, pItem2, pItem3, 0 );
hb_itemRelease( pItem1 );
hb_itemRelease( pItem2 );
hb_itemRelease( pItem3 );
return hb_itemGetC( pResult );
}