|
Summary
Extract message. This method has been deprecated. Use the ExtractMessageStart,
ExtractMessageData and ExtractMessageEnd methods to create a message.
Syntax
| Boolean ExtractX (Buffer, Bytes) |
| |
Buffer |
VARIANT FAR * |
| |
Bytes |
LONG |
Description
To extract a message, call the ExtractX method if the application cannot handle file
i/o. Data will not be saved in any file, instead the OnData event will be fired to deliver
the data using buffers.
The ExtractX method takes a pointer to a VARIANT (Buffer) containing data and the
length of data (Bytes) pointed to by Buffer as parameter. Note that only VT_ARRAY and
VT_BSTR data types are supported, if the data type is anything else then the Mime ActiveX
Control will return an error. The application must call ExtractX method one or more times
to pass the entire data, one last call should be made with the Bytes parameter set to 0 to
indicate the end of data, it is only after this last call the Mime ActiveX control will
actually start extracting the data. The message header and body will be extracted first.
The OnExtract event will be fired to inform the application about the filename (if any
present in the header), encoding type, content type, subtype and level. The FileName,
Encoding, ContentType and Subtype properties will be set with the appropriate values
before the OnExtract event is fired. After this the OnData event will be fired to deliver
the extracted data.
If there are any attachments, they will be extracted and the OnExtract event will
contain the information. All encoded data will be decoded and the OnData event will be
fired after OnExtract event to deliver the data. For Partial messages, the OnExtract
message will be fired only when all the parts of the message have been extracted and
reassembled. An OnError event will occur to indicate only a part of the message has been
extracted.
After each OnExtract event the OnData event will be fired one or more times to deliver
the body of the message or the contents of the attachment files to the application.
If an error occurs, then the OnError event will be fired. The application should set a
flag in the OnError event, so that it can determine if the action was successful. In
addition, the application may want to display an error message in the OnError event to
inform the user of the error. Please check the reference page of the OnError event for a
complete listing of error codes.
The ExtractX method returns True if successful; otherwise, it returns False. Calling
this method is equivalent to setting the Action property to ACTION_EXTRACT_X.
Example
Sub MimeExtractX ()
Dim strng As String
Dim Buffer As Variant
Open "c:\abc.exe" For Binary Access Read As #1
Do While (Not EOF (1))
Line Input #1,strng
Buffer = strng & Chr (10)
Ret = ExtractX (Buffer, Len (Buffer))
If (Ret = 0) Then
Exit Do
End If
Loop
If (Ret <> 0) Then 'one final call is made to indicate end of data
ExtractX ("", 0)
End If
If (Ret = 0) Then
MsgBox "Cannot extract data", 64, "Sample Program"
End If
End Sub
|