263 lines
33 KiB
HTML
263 lines
33 KiB
HTML
<html>
|
|
|
|
<head>
|
|
<title>Get Messages Example (VB.NET)</title>
|
|
<meta http-equiv="Content-Language" content="en-us">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
|
<link rel="stylesheet" type="text/css" href="ApiHelp.css">
|
|
</head>
|
|
<meta name=MS-HKWD content="VB.NET examples,messages">
|
|
|
|
<body>
|
|
<h1><font size="1"><span style="font-weight: 400">SOLIDWORKS PDM Professional API Help</span></h1>
|
|
<h1>Get Messages Example (VB.NET)</h1>
|
|
<p><a name="Top"></a>This example shows how to get and encapsulate text messages
|
|
in the Admin's inbox in a vault.</p>
|
|
<p><b>NOTE</b>: If using the primary interop assembly
|
|
provided with SOLIDWORKS PDM Professional, see
|
|
<a href="Using_NET_Framework_in_Applications.htm">Using .NET Framework 4.0 in
|
|
Stand-alone Applications</a>.</p>
|
|
<p><img border="0" src="GetMessages.gif" width="259" height="168"></p>
|
|
|
|
<pre style="font-family: Courier New; font-size: 13; color: black; background: white"><span style="color:green;">'----------------------------------------------------------------------------</span>
|
|
<span style="color:green;">' Preconditions:</span>
|
|
<span style="color:green;">' 1. Start Microsoft Visual Studio.</span>
|
|
<span style="color:green;">' a. Click <b>File > New > Project > Visual Basic > Windows Forms Application</b>.</span>
|
|
<span style="color:green;">' b. Type <b>MessageVBNET</b> in <b>Name</b>.</span>
|
|
<span style="color:green;">' c. Click <b>Browse</b> and browse to the folder where to create the project.</span>
|
|
<span style="color:green;">' d. Click <b>OK</b>. </span>
|
|
<span style="color:green;">' e. Click <b>Show All Files</b> in the Solution Explorer toolbar and expand </span>
|
|
<span style="color:green;">' <b>Form1.vb</b> in the Solution Explorer.</span>
|
|
<span style="color:green;">' f. Replace the code in <b>Form1.vb</b> with <a href="#Form1">this code</a>.</span>
|
|
<span style="color:green;">' g. To create the form, replace the code in <b>Form1.Designer.vb</b> with <a href="#Designer">this code</a>.</span>
|
|
<span style="color:green;">' 2. Add <b>EPDM.Interop.epdm.dll</b> as a reference (right-click the project</span>
|
|
<span style="color:green;">' name in the Solution Explorer, click <b>Add Reference,</b> click </span>
|
|
<span style="color:green;">' <b>Assembly > Framework</b> in the left-side panel, browse to the top folder </span>
|
|
<span style="color:green;">' </span><span style="color:green;">of your </span><span style="color:green;">SOLIDWORKS PDM Professional installation, locate and click </span>
|
|
<span style="color:green;">' <b>EPDM.Interop.epdm.dll</b>, click <b>Open</b>, click <b>Add</b>, and click <b>Close</b>).</span>
|
|
<span style="color:green;">' 3. Right-click <b>EPDM.Interop.epdm</b> in References, click <b>Properties</b>, and set </span>
|
|
<span style="color:green;">' <b>Embed Interop Types</b> to <b>False</b> to handle methods that pass arrays of </span>
|
|
<span style="color:green;">' structures.</span>
|
|
<span style="color:green;">' 4. Ensure that one or more text messages exist in the inbox of Admin
|
|
' in a vault.</span>
|
|
<span style="color:green;">' a. Log into a vault as Admin.</span>
|
|
<span style="color:green;">' b. Open a File Explorer window for that vault.</span>
|
|
<span style="color:green;">' c. Click <b>Tools > Inbox</b>.</span>
|
|
<span style="color:green;">' d. Click <b>Text Messages</b>.</span>
|
|
<span style="color:green;">' e. If no text messages are listed, send a text message to Admin.</span>
|
|
<span style="color:green;">' 1. Click <b>New mail message</b>.</span>
|
|
<span style="color:green;">' 2. Type <b>Admin</b> in <b>To</b>.</span>
|
|
<span style="color:green;">' 3. Type <b>Test Get messages</b> in <b>Subject</b>.</span>
|
|
<span style="color:green;">' 4. Type <b>Testing Get messages</b> in the body of the message.</span>
|
|
<span style="color:green;">' 5. Click <b>Send</b>.</span>
|
|
<span style="color:green;">' 6. Wait until you receive the SOLIDWORKS PDM Professional</span>
|
|
<span style="color:green;">' message notification before executing the next step.</span>
|
|
<span style="color:green;">' 5. Click <b>Debug > Start Debugging</b> or press F5.</span>
|
|
<span style="color:green;">'</span>
|
|
<span style="color:green;">' Postconditions: </span>
|
|
<span style="color:green;">' 1. Displays the Get Messages dialog.</span>
|
|
<span style="color:green;">' 2. Select the vault that you examined or where you sent Admin
|
|
' a text message in Preconditions step 4.</span>
|
|
<span style="color:green;">' 3. Click <b>Get messages</b>.</span>
|
|
<span style="color:green;">' 4. Displays a message box for each text message in Admin's inbox </span>
|
|
<span style="color:green;">' </span><span style="color:green;">in the selected </span><span style="color:green;">vault. The message box contains encapsulated
|
|
</span><span style="color: #008000">' </span><span style="color:green;">information about the </span><span style="color:green;">text message.</span>
|
|
<span style="color:green;">' 5. Click <b>OK</b> to close each message box.</span>
|
|
<span style="color:green;">' 6. Close the Get Messages dialog box.</span>
|
|
<span style="color:green;">'----------------------------------------------------------------------------</span>
|
|
|
|
<span style="color:green;"><a name="Form1"></a>'Form1.vb </span>
|
|
|
|
<span style="color:blue;">Imports</span> EPDM.Interop.epdm
|
|
|
|
<span style="color:blue;">Public</span> <span style="color:blue;">Class</span> <span style="color:#2b91af;">Form1</span>
|
|
|
|
<span style="color:blue;">Dim</span> vault <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmVault8</span> = <span style="color:blue;">New</span> <span style="color:#2b91af;">EdmVault5</span>
|
|
|
|
<span style="color:blue;">Private</span> <span style="color:blue;">Sub</span> Form1_Load( _
|
|
<span style="color:blue;">ByVal</span> sender <span style="color:blue;">As</span> System.<span style="color:#2b91af;">Object</span>, _
|
|
<span style="color:blue;">ByVal</span> e <span style="color:blue;">As</span> System.<span style="color:#2b91af;">EventArgs</span>) _
|
|
<span style="color:blue;">Handles</span> <span style="color:blue;">MyBase</span>.Load
|
|
|
|
<span style="color:blue;">Try</span>
|
|
|
|
<span style="color:blue;">Dim</span> Views() <span style="color:blue;">As</span> <span style="color:#2b91af;">EdmViewInfo</span> = <span style="color:blue;">Nothing</span>
|
|
|
|
vault.<b>GetVaultViews</b>(Views, <span style="color:blue;">False</span>)
|
|
VaultsComboBox.Items.Clear()
|
|
<span style="color:blue;">For</span> <span style="color:blue;">Each</span> View <span style="color:blue;">As</span> <span style="color:#2b91af;">EdmViewInfo</span> <span style="color:blue;">In</span> Views
|
|
VaultsComboBox.Items.Add(View.<b>mbsVaultName</b>)
|
|
<span style="color:blue;">Next</span>
|
|
<span style="color:blue;">If</span> VaultsComboBox.Items.Count > 0 <span style="color:blue;">Then</span>
|
|
VaultsComboBox.Text = VaultsComboBox.Items(0)
|
|
<span style="color:blue;">End</span> <span style="color:blue;">If</span>
|
|
|
|
<span style="color:blue;">Catch</span> ex <span style="color:blue;">As</span> Runtime.InteropServices.<span style="color:#2b91af;">COMException</span>
|
|
<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">"HRESULT = 0x"</span> + _
|
|
ex.ErrorCode.ToString(<span style="color:#a31515;">"X"</span>) + vbCrLf + _
|
|
ex.Message)
|
|
<span style="color:blue;">Catch</span> ex <span style="color:blue;">As</span> <span style="color:#2b91af;">Exception</span>
|
|
<span style="color:#2b91af;">MessageBox</span>.Show(ex.Message)
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Try</span>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Sub</span>
|
|
|
|
<span style="color:blue;">Private</span> <span style="color:blue;">Sub</span> GetMessagesButton_Click( _
|
|
<span style="color:blue;">ByVal</span> sender <span style="color:blue;">As</span> System.<span style="color:#2b91af;">Object</span>, _
|
|
<span style="color:blue;">ByVal</span> e <span style="color:blue;">As</span> System.<span style="color:#2b91af;">EventArgs</span>) _
|
|
<span style="color:blue;">Handles</span> GetMessagesButton.Click
|
|
|
|
<span style="color:blue;">Try</span>
|
|
<span style="color:green;">'Only create a new vault object</span>
|
|
<span style="color:green;">'if one hasn't been created yet</span>
|
|
<span style="color:blue;">If</span> vault <span style="color:blue;">Is</span> <span style="color:blue;">Nothing</span> <span style="color:blue;">Then</span>
|
|
vault = <span style="color:blue;">New</span> <span style="color:#2b91af;">EdmVault5</span>()
|
|
<span style="color:blue;">End</span> <span style="color:blue;">If</span>
|
|
|
|
<span style="color:blue;">If</span> <span style="color:blue;">Not</span> vault.<b>IsLoggedIn</b> <span style="color:blue;">Then</span>
|
|
<span style="color:green;">'Log into selected vault as the current user</span>
|
|
vault.<b>LoginAuto</b>(VaultsComboBox.Text, <span style="color:blue;">Me</span>.Handle.ToInt32())
|
|
<span style="color:blue;">End</span> <span style="color:blue;">If</span>
|
|
|
|
|
|
<span style="color:green;">'Declare an IEdmUserMgr5 object</span>
|
|
<span style="color:blue;">Dim</span> userMgr <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmUserMgr5</span>
|
|
|
|
<span style="color:green;">'The IEdmUserMgr5 interface is implemented by the</span>
|
|
<span style="color:green;">'same class as the IEdmVault5 interface,</span>
|
|
<span style="color:green;">'so you can assign the value of</span>
|
|
<span style="color:green;">'the IEdmVault5 object</span>
|
|
userMgr = vault
|
|
|
|
<span style="color:blue;">Dim</span> user <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmUser5</span>
|
|
user = userMgr.<b>GetLoggedInUser</b>
|
|
<span style="color:blue;">Dim</span> inbox <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmInbox5</span> = <span style="color:blue;">DirectCast</span>(user, <span style="color:#2b91af;">IEdmInbox5</span>)
|
|
|
|
<span style="color:green;">'Get first text message in Admin's inbox</span>
|
|
<span style="color:blue;">Dim</span> message <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmMessage5</span>
|
|
<span style="color:blue;">Dim</span> pos <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmPos5</span>
|
|
pos = inbox.<b>GetFirstMessagePosition</b>(<span style="color:#2b91af;">EdmGetMsgFlag</span>.EdmGetMsg_UserMessages)
|
|
|
|
<span style="color:green;">'If no text messages in Admin's inbox, exit application</span>
|
|
<span style="color:blue;">If</span> pos.<b>IsNull</b> <span style="color:blue;">Then</span>
|
|
MsgBox(<span style="color:#a31515;">"No messages in Admin's inbox."</span>)
|
|
<span style="color:blue;">Exit Sub</span>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">If</span>
|
|
|
|
<span style="color:green;">'Otherwise, iterate through Admin's inbox and</span>
|
|
<span style="color:green;">'display a message box with each encapsulated text message</span>
|
|
<span style="color:blue;">While</span> <span style="color:blue;">Not</span> pos.<b>IsNull</b>
|
|
message = inbox.<b>GetNextMessage</b>(pos)
|
|
<span style="color:blue;">Dim</span> messageDate <span style="color:blue;">As</span> <span style="color:blue;">String</span>
|
|
messageDate = message.<b>Date</b>
|
|
|
|
MsgBox(<span style="color:#a31515;">"Sender name = "</span> + message.<b>SenderName</b> + vbLf + _
|
|
<font color="#A31515">"Sender ID = "</font> + message.<b>SenderID</b> + vbLF + _
|
|
<span style="color:#a31515;">"Is read = "</span> + message.<b>IsRead</b>.ToString + vbLf + _
|
|
<span style="color:#a31515;">"Type = "</span> + message.<b>MessageType</b>.ToString + vbLf + _
|
|
<span style="color:#a31515;">"Date = "</span> + messageDate + vbLf + _
|
|
<span style="color:#a31515;">"Subject = "</span> + message.<b>Subject</b> + vbLf + _
|
|
<span style="color:#a31515;">"Body = "</span> + message.<b>Body</b> + vbLf)
|
|
|
|
<span style="color:blue;">End</span> <span style="color:blue;">While</span>
|
|
|
|
<span style="color:blue;">Catch</span> ex <span style="color:blue;">As</span> Runtime.InteropServices.<span style="color:#2b91af;">COMException</span>
|
|
<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">"HRESULT = 0x"</span> + _
|
|
ex.ErrorCode.ToString(<span style="color:#a31515;">"X"</span>) + vbCrLf + _
|
|
ex.Message)
|
|
<span style="color:blue;">Catch</span> ex <span style="color:blue;">As</span> <span style="color:#2b91af;">Exception</span>
|
|
<span style="color:#2b91af;">MessageBox</span>.Show(ex.Message)
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Try</span>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Sub</span>
|
|
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Class</span></pre>
|
|
<div align="center">
|
|
<pre style="font-family: Courier New; font-size: 13; color: black; background: white"><font face="Calibri"><a href="#Top">Back to top</a></font></pre>
|
|
</div>
|
|
<div align="left">
|
|
<pre style="font-family: Courier New; font-size: 13; color: #008000; background: white"><a name="Designer"></a>'Form1.Designer.vb</pre>
|
|
</div>
|
|
<div align="left">
|
|
<pre style="font-family: Courier New; font-size: 13; color: black; background: white"><<span style="color:blue;">Global</span>.Microsoft.VisualBasic.CompilerServices.<span style="color:#2b91af;">DesignerGenerated</span>()> _
|
|
<span style="color:blue;">Partial</span> <span style="color:blue;">Class</span> <span style="color:#2b91af;">Form1</span>
|
|
<span style="color:blue;">Inherits</span> System.Windows.Forms.<span style="color:#2b91af;">Form</span>
|
|
|
|
<span style="color:green;">'Form overrides dispose to clean up the component list.</span>
|
|
<System.Diagnostics.<span style="color:#2b91af;">DebuggerNonUserCode</span>()> _
|
|
<span style="color:blue;">Protected</span> <span style="color:blue;">Overrides</span> <span style="color:blue;">Sub</span> Dispose(<span style="color:blue;">ByVal</span> disposing <span style="color:blue;">As</span> <span style="color:blue;">Boolean</span>)
|
|
<span style="color:blue;">Try</span>
|
|
<span style="color:blue;">If</span> disposing <span style="color:blue;">AndAlso</span> components <span style="color:blue;">IsNot</span> <span style="color:blue;">Nothing</span> <span style="color:blue;">Then</span>
|
|
components.Dispose()
|
|
<span style="color:blue;">End</span> <span style="color:blue;">If</span>
|
|
<span style="color:blue;">Finally</span>
|
|
<span style="color:blue;">MyBase</span>.Dispose(disposing)
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Try</span>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Sub</span>
|
|
|
|
<span style="color:green;">'Required by the Windows Form Designer</span>
|
|
<span style="color:blue;">Private</span> components <span style="color:blue;">As</span> System.ComponentModel.<span style="color:#2b91af;">IContainer</span>
|
|
|
|
<span style="color:green;">'NOTE: The following procedure is required by the Windows Form Designer</span>
|
|
<span style="color:green;">'It can be modified using the Windows Form Designer. </span>
|
|
<span style="color:green;">'Do not modify it using the code editor.</span>
|
|
<System.Diagnostics.<span style="color:#2b91af;">DebuggerStepThrough</span>()> _
|
|
<span style="color:blue;">Private</span> <span style="color:blue;">Sub</span> InitializeComponent()
|
|
<span style="color:blue;">Me</span>.VaultsLabel = <span style="color:blue;">New</span> System.Windows.Forms.<span style="color:#2b91af;">Label</span>()
|
|
<span style="color:blue;">Me</span>.VaultsComboBox = <span style="color:blue;">New</span> System.Windows.Forms.<span style="color:#2b91af;">ComboBox</span>()
|
|
<span style="color:blue;">Me</span>.GetMessagesButton = <span style="color:blue;">New</span> System.Windows.Forms.<span style="color:#2b91af;">Button</span>()
|
|
<span style="color:blue;">Me</span>.SuspendLayout()
|
|
<span style="color:green;">'</span>
|
|
<span style="color:green;">'VaultsLabel</span>
|
|
<span style="color:green;">'</span>
|
|
<span style="color:blue;">Me</span>.VaultsLabel.AutoSize = <span style="color:blue;">True</span>
|
|
<span style="color:blue;">Me</span>.VaultsLabel.Location = <span style="color:blue;">New</span> System.Drawing.<span style="color:#2b91af;">Point</span>(13, 22)
|
|
<span style="color:blue;">Me</span>.VaultsLabel.Name = <span style="color:#a31515;">"VaultsLabel"</span>
|
|
<span style="color:blue;">Me</span>.VaultsLabel.Size = <span style="color:blue;">New</span> System.Drawing.<span style="color:#2b91af;">Size</span>(91, 13)
|
|
<span style="color:blue;">Me</span>.VaultsLabel.TabIndex = 0
|
|
<span style="color:blue;">Me</span>.VaultsLabel.Text = <span style="color:#a31515;">"Select vault view:"</span>
|
|
<span style="color:green;">'</span>
|
|
<span style="color:green;">'VaultsComboBox</span>
|
|
<span style="color:green;">'</span>
|
|
<span style="color:blue;">Me</span>.VaultsComboBox.FormattingEnabled = <span style="color:blue;">True</span>
|
|
<span style="color:blue;">Me</span>.VaultsComboBox.Location = <span style="color:blue;">New</span> System.Drawing.<span style="color:#2b91af;">Point</span>(13, 39)
|
|
<span style="color:blue;">Me</span>.VaultsComboBox.Name = <span style="color:#a31515;">"VaultsComboBox"</span>
|
|
<span style="color:blue;">Me</span>.VaultsComboBox.Size = <span style="color:blue;">New</span> System.Drawing.<span style="color:#2b91af;">Size</span>(198, 21)
|
|
<span style="color:blue;">Me</span>.VaultsComboBox.TabIndex = 1
|
|
<span style="color:green;">'</span>
|
|
<span style="color:green;">'GetMessagesButton</span>
|
|
<span style="color:green;">'</span>
|
|
<span style="color:blue;">Me</span>.GetMessagesButton.Location = <span style="color:blue;">New</span> System.Drawing.<span style="color:#2b91af;">Point</span>(16, 81)
|
|
<span style="color:blue;">Me</span>.GetMessagesButton.Name = <span style="color:#a31515;">"GetMessagesButton"</span>
|
|
<span style="color:blue;">Me</span>.GetMessagesButton.Size = <span style="color:blue;">New</span> System.Drawing.<span style="color:#2b91af;">Size</span>(88, 23)
|
|
<span style="color:blue;">Me</span>.GetMessagesButton.TabIndex = 2
|
|
<span style="color:blue;">Me</span>.GetMessagesButton.Text = <span style="color:#a31515;">"Get messages"</span>
|
|
<span style="color:blue;">Me</span>.GetMessagesButton.TextAlign = System.Drawing.<span style="color:#2b91af;">ContentAlignment</span>.MiddleLeft
|
|
<span style="color:blue;">Me</span>.GetMessagesButton.UseVisualStyleBackColor = <span style="color:blue;">True</span>
|
|
<span style="color:green;">'</span>
|
|
<span style="color:green;">'MessageVBNET</span>
|
|
<span style="color:green;">'</span>
|
|
<span style="color:blue;">Me</span>.AutoScaleDimensions = <span style="color:blue;">New</span> System.Drawing.<span style="color:#2b91af;">SizeF</span>(6.0!, 13.0!)
|
|
<span style="color:blue;">Me</span>.AutoScaleMode = System.Windows.Forms.<span style="color:#2b91af;">AutoScaleMode</span>.Font
|
|
<span style="color:blue;">Me</span>.ClientSize = <span style="color:blue;">New</span> System.Drawing.<span style="color:#2b91af;">Size</span>(243, 130)
|
|
<span style="color:blue;">Me</span>.Controls.Add(<span style="color:blue;">Me</span>.GetMessagesButton)
|
|
<span style="color:blue;">Me</span>.Controls.Add(<span style="color:blue;">Me</span>.VaultsComboBox)
|
|
<span style="color:blue;">Me</span>.Controls.Add(<span style="color:blue;">Me</span>.VaultsLabel)
|
|
<span style="color:blue;">Me</span>.Name = <span style="color:#a31515;">"Form1"</span>
|
|
<span style="color:blue;">Me</span>.Text = <span style="color:#a31515;">"Get Messages"</span>
|
|
<span style="color:blue;">Me</span>.ResumeLayout(<span style="color:blue;">False</span>)
|
|
<span style="color:blue;">Me</span>.PerformLayout()
|
|
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Sub</span>
|
|
<span style="color:blue;">Friend</span> <span style="color:blue;">WithEvents</span> VaultsLabel <span style="color:blue;">As</span> System.Windows.Forms.<span style="color:#2b91af;">Label</span>
|
|
<span style="color:blue;">Friend</span> <span style="color:blue;">WithEvents</span> VaultsComboBox <span style="color:blue;">As</span> System.Windows.Forms.<span style="color:#2b91af;">ComboBox</span>
|
|
<span style="color:blue;">Friend</span> <span style="color:blue;">WithEvents</span> GetMessagesButton <span style="color:blue;">As</span> System.Windows.Forms.<span style="color:#2b91af;">Button</span>
|
|
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Class</span></pre>
|
|
</div>
|
|
<div align="center">
|
|
<pre style="font-family: Courier New; font-size: 13; color: #008000; background: white"><font face="Calibri"><a href="#Top">Back to top</a></font></pre>
|
|
</div>
|
|
|
|
</body>
|
|
|
|
</html>
|