diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 656e62c15a..a5951b8573 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,11 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-12-12 21:24 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * contrib/hbwin/tests/testmapi.prg + * contrib/hbwin/mapi.c + ! Fixes. + 2009-12-12 19:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbwin/win_misc.c ! Fixed declaration following code. diff --git a/harbour/contrib/hbwin/mapi.c b/harbour/contrib/hbwin/mapi.c index 55f3ecbec3..d46aa7ea1d 100644 --- a/harbour/contrib/hbwin/mapi.c +++ b/harbour/contrib/hbwin/mapi.c @@ -81,25 +81,20 @@ HB_FUNC( WIN_MAPISENDMAIL ) PHB_ITEM pToList = hb_param( 9, HB_IT_ARRAY ); PHB_ITEM pFileList = hb_param( 10, HB_IT_ARRAY ); - void * hString[ 2 + 2 * 100 + 2 * 100 ]; + void * hString[ 4 + 2 + 2 * 100 + 2 * 100 ]; int iString = 0; MapiMessage note; MapiRecipDesc origin; FLAGS flags = MAPI_LOGON_UI; - void * hSubject; - void * hNoteText; - void * hMessageType; - void * hDateReceived; - ZeroMemory( ¬e, sizeof( MapiMessage ) ); ZeroMemory( &origin, sizeof( MapiRecipDesc ) ); - note.lpszSubject = ( LPSTR ) HB_PARSTR( 1, &hSubject, NULL ); - note.lpszNoteText = ( LPSTR ) HB_PARSTR( 2, &hNoteText, NULL ); - note.lpszMessageType = ( LPSTR ) HB_PARSTR( 3, &hMessageType, NULL ); - note.lpszDateReceived = ( LPSTR ) HB_PARSTRDEF( 4, &hDateReceived, NULL ); + note.lpszSubject = ( LPSTR ) HB_PARSTR( 1, &hString[ iString++ ], NULL ); + note.lpszNoteText = ( LPSTR ) HB_PARSTR( 2, &hString[ iString++ ], NULL ); + note.lpszMessageType = ( LPSTR ) HB_PARSTR( 3, &hString[ iString++ ], NULL ); + note.lpszDateReceived = ( LPSTR ) HB_PARSTRDEF( 4, &hString[ iString++ ], NULL ); if( hb_parl( 6 ) ) note.flFlags |= MAPI_RECEIPT_REQUESTED; @@ -188,11 +183,6 @@ HB_FUNC( WIN_MAPISENDMAIL ) hb_retnint( ( *MAPISendMail )( 0, ( ULONG_PTR ) GetActiveWindow(), ¬e, flags, 0 ) ); - hb_strfree( hSubject ); - hb_strfree( hNoteText ); - hb_strfree( hMessageType ); - hb_strfree( hDateReceived ); - while( --iString >= 0 ) hb_strfree( hString[ iString ] ); } diff --git a/harbour/contrib/hbwin/tests/testmapi.prg b/harbour/contrib/hbwin/tests/testmapi.prg index cd56f1a67b..5c489ba23a 100644 --- a/harbour/contrib/hbwin/tests/testmapi.prg +++ b/harbour/contrib/hbwin/tests/testmapi.prg @@ -4,13 +4,13 @@ PROCEDURE Main() - cSubject := "Test subject" - cBody := "Test body" - lMailConf := .F. - lFromUser := .T. - aSender := { "test from", "from@test.com" } - aDest := { { "test to", "to@test.com" } } - aFiles := { { "testmapi.prg", "" } } + LOCAL cSubject := "Test subject" + LOCAL cBody := "Test body" + LOCAL lMailConf := .F. + LOCAL lFromUser := .T. + LOCAL aSender := { "test from", "from@test.com" } + LOCAL aDest := { { "test to", "to@test.com" } } + LOCAL aFiles := { { "testmapi.prg", "" } } ? win_MAPISendMail( cSubject, ; // subject cBody, ; // menssage