250 lines
31 KiB
HTML
250 lines
31 KiB
HTML
<html>
|
|
|
|
<head>
|
|
<title>Get Files in Workflow State 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,states">
|
|
<meta name=MS-HKWD content="VB.NET examples,workflows">
|
|
<meta name=MS-HKWD content="VB.NET examples,files">
|
|
<body>
|
|
<h1><font size="1"><span style="font-weight: 400">SOLIDWORKS PDM Professional API Help</span></h1>
|
|
<h1>Get Files in Workflow State Example (VB.NET)</h1>
|
|
<p><a name="top"></a>This example shows how to get all of the files in a particular
|
|
workflow state.</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="GetFilesInState.gif" width="232" height="175"></p>
|
|
|
|
<p style="font-family: Courier New; font-size: 13; color: black; background: white" class="APICODE">
|
|
<span style="color:green;">
|
|
'----------------------------------------------------------------------------</span><br>
|
|
<span style="color:green;">' Preconditions:</span><br>
|
|
<span style="color:green;">' 1. Start Microsoft Visual Studio.</span><br>
|
|
<span style="color:green;">' a. Click <b>File > New > Project > Visual Basic > Windows Forms Application</b>.</span><br>
|
|
<span style="color:green;">' b. Type <b>GetFilesInState</b> in <b>Name</b>.</span><br>
|
|
<span style="color:green;">' c. Click <b>Browse</b> and navigate to the folder where to create </span><br>
|
|
<span style="color:green;">' the project.</span><br>
|
|
<span style="color:green;">' d. Click <b>OK</b>. </span><br>
|
|
<span style="color:green;">' e. Click <b>Show All Files</b> in the Solution Explorer toolbar and expand </span><br>
|
|
<span style="color:green;">' <b>Form1.vb</b> in the Solution Explorer.</span><br>
|
|
<span style="color:green;">' f. Replace the code in <b>Form1.vb</b> with <a href="#form1">this code</a>.</span><br>
|
|
<span style="color:green;">' g. To create the form,
|
|
replace the code in <b>Form1.Designer.vb</b> with <a href="#form1designer">this code</a>.</span><br>
|
|
<span style="color:green;">' 2. Add <b>EPDM.Interop.epdm.dll</b> as a reference (right-click the project</span><br>
|
|
<span style="color:green;">' name in the Solution Explorer, click <b>Add Reference</b>, click </span><br>
|
|
<span style="color:green;">' <b>Assemblies > Framework</b> in the left-side panel, browse to the top folder of </span><br>
|
|
<span style="color:green;">' your SOLIDWORKS PDM Professional installation, locate and click </span><br>
|
|
<span style="color:green;">' <b>EPDM.Interop.epdm.dll</b>, click <b>Open</b>, click <b>Add</b>, and click <b>Close</b>).</span><br>
|
|
<span style="color:green;">' 3. Right-click <b>EPDM.Interop.epdm</b> in References, click <b>Properties</b>, and set </span><br>
|
|
<span style="color:green;">' <b>Embed Interop Types</b> to <b>False</b> to handle methods that pass arrays of </span><br>
|
|
<span style="color:green;">' structures.<br>
|
|
' 4. Ensure that you have at least one approved file in the vault.</span><br>
|
|
<span style="color:green;">' 5. Click <b>Debug > Start Debugging</b> or press F5.</span><br>
|
|
<span style="color:green;">'</span><br>
|
|
<span style="color:green;">' Postconditions: </span><br>
|
|
<span style="color:green;">' 1. Displays the Get files in state dialog box.</span><br>
|
|
<span style="color:green;">' 2. Select a vault view.</span><br>
|
|
<span style="color:green;">' 3. Click <b>Get approved files</b>. </span><br>
|
|
<span style="color:green;">
|
|
' 4. Displays a message box with all of the files in the Approved state<br>
|
|
' for each workflow in the vault.<br>
|
|
' 5. Click <b>OK </b>in each message box.</span><br>
|
|
<span style="color:green;">
|
|
' 6. Close the Get files in state dialog box. </span><br>
|
|
<span style="color:green;">
|
|
'----------------------------------------------------------------------------</span><br>
|
|
<br>
|
|
<span style="color:green;"><a name="form1"></a>'Form1.vb</span><br>
|
|
</p>
|
|
<p style="font-family: Courier New; font-size: 13; color: black; background: white" class="APICODE">
|
|
<span style="color:blue;">Imports</span> System.IO<br>
|
|
<span style="color:blue;">Imports</span> System.Xml.Serialization<br>
|
|
<span style="color:blue;">Imports</span> System.Collections<br>
|
|
<span style="color:blue;">Imports</span> System.Collections.Generic<br>
|
|
<span style="color:blue;">Imports</span> System.Data<br>
|
|
<span style="color:blue;">Imports</span> System.Diagnostics<br>
|
|
<span style="color:blue;">Imports</span> System.Windows.Forms<br>
|
|
<span style="color:blue;">Imports</span> System.ComponentModel<br>
|
|
<span style="color:blue;">Imports</span> EPDM.Interop.epdm<br>
|
|
<br>
|
|
<br>
|
|
<span style="color:blue;">Public</span> <span style="color:blue;">Class</span> <span style="color:#2b91af;">Form1</span><br>
|
|
<br>
|
|
<span style="color:blue;">Private</span> vault1 <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmVault5</span> = <span style="color:blue;">Nothing</span><br>
|
|
<span style="color:blue;">Dim</span> item <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmItem</span><br>
|
|
<span style="color:blue;">Dim</span> fileInt <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmFile8</span><br>
|
|
<br>
|
|
<span style="color:blue;">Public</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<br>
|
|
<br>
|
|
<span style="color:blue;">Try</span><br>
|
|
<span style="color:blue;">Dim</span> vault1 <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmVault5</span> = <span style="color:blue;">New</span> <span style="color:#2b91af;">EdmVault5</span>()<br>
|
|
<span style="color:blue;">Dim</span> vault <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmVault8</span> = <span style="color:blue;">DirectCast</span>(vault1, <span style="color:#2b91af;">IEdmVault8</span>)<br>
|
|
<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><br>
|
|
<br>
|
|
vault.<b>GetVaultViews</b>(Views, <span style="color:blue;">False</span>)<br>
|
|
VaultsComboBox.Items.Clear()<br>
|
|
<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<br>
|
|
VaultsComboBox.Items.Add(View.<b>mbsVaultName</b>)<br>
|
|
<span style="color:blue;">Next</span><br>
|
|
<span style="color:blue;">If</span> VaultsComboBox.Items.Count > 0 <span style="color:blue;">Then</span><br>
|
|
VaultsComboBox.Text = <span style="color:blue;">DirectCast</span>(VaultsComboBox.Items(0), <span style="color:blue;">String</span>)<br>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">If</span><br>
|
|
<br>
|
|
<span style="color:blue;">Catch</span> ex <span style="color:blue;">As</span> System.Runtime.InteropServices.<span style="color:#2b91af;">COMException</span><br>
|
|
<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">"HRESULT = 0x"</span> + ex.ErrorCode.ToString(<span style="color:#a31515;">"X"</span>) + <span style="color:#a31515;">" "</span> + ex.Message)<br>
|
|
<span style="color:blue;">Catch</span> ex <span style="color:blue;">As</span> <span style="color:#2b91af;">Exception</span><br>
|
|
<span style="color:#2b91af;">MessageBox</span>.Show(ex.Message)<br>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Try</span><br>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Sub</span><br>
|
|
<br>
|
|
<br>
|
|
<span style="color:blue;">Public</span> <span style="color:blue;">Sub</span> GetApprovedFiles_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> GetApprovedFiles.Click<br>
|
|
<span style="color:green;">'Get approved files</span><br>
|
|
<span style="color:blue;">Try</span><br>
|
|
<br>
|
|
<span style="color:blue;">Dim</span> vault2 <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmVault7</span><br>
|
|
<span style="color:blue;">If</span> vault1 <span style="color:blue;">Is</span> <span style="color:blue;">Nothing</span> <span style="color:blue;">Then</span><br>
|
|
vault1 = <span style="color:blue;">New</span> <span style="color:#2b91af;">EdmVault5</span>()<br>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">If</span><br>
|
|
<br>
|
|
vault2 = vault1<br>
|
|
<span style="color:blue;">If</span> <span style="color:blue;">Not</span> vault1.<b>IsLoggedIn</b> <span style="color:blue;">Then</span><br>
|
|
vault1.<b>LoginAuto</b>(VaultsComboBox.Text, <span style="color:blue;">Me</span>.Handle.ToInt32())<br>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">If</span><br>
|
|
<br>
|
|
<span style="color:blue;">Dim</span> wfmgr <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmWorkflowMgr6</span> = vault2.<b>CreateUtility</b>(<span style="color:#2b91af;">EdmUtility</span>.EdmUtil_WorkflowMgr)<br>
|
|
<br>
|
|
<span style="color:blue;">Dim</span> pos <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmPos5</span><br>
|
|
pos = wfmgr.<b>GetFirstWorkflowPosition</b>()<br>
|
|
<span style="color:blue;">While</span> <span style="color:blue;">Not</span> pos.<b>IsNull</b><br>
|
|
<span style="color:blue;">Dim</span> wf <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmWorkflow6</span> = wfmgr.<b>GetNextWorkflow</b>(pos)<br>
|
|
<br>
|
|
<span style="color:blue;">Dim</span> state <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmState6</span><br>
|
|
state = wf.<b>GetState</b>(<span style="color:#a31515;">"Approved"</span>)</p>
|
|
<p style="font-family: Courier New; font-size: 13; color: black; background: white" class="APICODE">
|
|
<br>
|
|
<span style="color:blue;">If</span> <span style="color:blue;">Not</span> state <span style="color:blue;">Is</span> <span style="color:blue;">Nothing</span> <span style="color:blue;">Then</span></p>
|
|
<p style="font-family: Courier New; font-size: 13; color: black; background: white" class="APICODE">
|
|
<span style="color:blue;">
|
|
Dim</span> message <span style="color:blue;">As</span> <span style="color:blue;">String</span><br>
|
|
<span style="color:blue;">Dim</span> file <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmFile5</span><br>
|
|
<span style="color:blue;">Dim</span> pos2 <span style="color:blue;">As</span> <span style="color:#2b91af;">IEdmPos5</span><br>
|
|
pos2 = state.<b>GetFirstFilePosition</b><br>
|
|
<br>
|
|
<span style="color:blue;">If</span> <span style="color:blue;">Not</span> pos2.<b>IsNull</b> <span style="color:blue;">Then</span><br>
|
|
message = <span style="color:#a31515;">"These files are approved in workflow, "</span> & wf.<b>Name</b> & <span style="color:#a31515;">":"</span> + vbLf<br>
|
|
<span style="color:blue;">While</span> <span style="color:blue;">Not</span> pos2.<b>IsNull</b><br>
|
|
file = state.<b>GetNextFile</b>(pos2)<br>
|
|
message = message + file.<b>Name</b> + vbLf<br>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">While</span><br>
|
|
<span style="color:#2b91af;">MessageBox</span>.Show(message)<br>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">If</span><br>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">If</span><br>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">While</span><br>
|
|
<br>
|
|
<span style="color:blue;">Catch</span> ex <span style="color:blue;">As</span> System.Runtime.InteropServices.<span style="color:#2b91af;">COMException</span><br>
|
|
<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">"HRESULT = 0x"</span> + ex.ErrorCode.ToString(<span style="color:#a31515;">"X"</span>) + <span style="color:#a31515;">" "</span> + ex.Message)<br>
|
|
<span style="color:blue;">Catch</span> ex <span style="color:blue;">As</span> <span style="color:#2b91af;">Exception</span><br>
|
|
<span style="color:#2b91af;">MessageBox</span>.Show(ex.Message)<br>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Try</span><br>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Sub</span><br>
|
|
<br>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Class</span></p>
|
|
<p style="font-family: Courier New; font-size: 13; color: black; background: white" class="APICODE">
|
|
</p>
|
|
<p style="font-family: Courier New; font-size: 13; color: black; background: white" class="APICODE" align="center">
|
|
<a href="#top">Back to top</a> </p>
|
|
<p style="font-family: Courier New; font-size: 13; color: #008000; background: white" class="APICODE">
|
|
<a name="form1designer"></a>'Form1.Designer.vb</p>
|
|
<p style="font-family: Courier New; font-size: 13; color: black; background: white" class="APICODE">
|
|
<<span style="color:blue;">Global</span>.Microsoft.VisualBasic.CompilerServices.<span style="color:#2b91af;">DesignerGenerated</span>()> _<br>
|
|
<span style="color:blue;">Partial</span> <span style="color:blue;">Class</span> <span style="color:#2b91af;">Form1</span><br>
|
|
<span style="color:blue;">Inherits</span> System.Windows.Forms.<span style="color:#2b91af;">Form</span><br>
|
|
<span style="color:green;">''' <summary></span><br>
|
|
<span style="color:green;">''' Required designer variable.</span><br>
|
|
<span style="color:green;">''' </summary></span><br>
|
|
<span style="color:blue;">Private</span> components <span style="color:blue;">As</span> System.ComponentModel.<span style="color:#2b91af;">IContainer</span> = <span style="color:blue;">Nothing</span><br>
|
|
<br>
|
|
<span style="color:green;">''' <summary></span><br>
|
|
<span style="color:green;">''' Clean up any resources being used.</span><br>
|
|
<span style="color:green;">''' </summary></span><br>
|
|
<span style="color:green;">''' <param name="disposing">true if managed resources should be disposed; otherwise, false.</param></span><br>
|
|
<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>)<br>
|
|
<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><br>
|
|
components.Dispose()<br>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">If</span><br>
|
|
<span style="color:blue;">MyBase</span>.Dispose(disposing)<br>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Sub</span><br>
|
|
<br>
|
|
<span style="color:blue;">#Region</span> <span style="color:#a31515;">"Windows Form Designer generated code"</span><br>
|
|
<br>
|
|
<span style="color:green;">''' <summary></span><br>
|
|
<span style="color:green;">''' Required method for Designer support - do not modify</span><br>
|
|
<span style="color:green;">''' the contents of this method with the code editor.</span><br>
|
|
<span style="color:green;">''' </summary></span><br>
|
|
<span style="color:blue;">Private</span> <span style="color:blue;">Sub</span> InitializeComponent()<br>
|
|
<span style="color:blue;">Me</span>.VaultsLabel = <span style="color:blue;">New</span> System.Windows.Forms.<span style="color:#2b91af;">Label</span>()<br>
|
|
<span style="color:blue;">Me</span>.VaultsComboBox = <span style="color:blue;">New</span> System.Windows.Forms.<span style="color:#2b91af;">ComboBox</span>()<br>
|
|
<span style="color:blue;">Me</span>.GetApprovedFiles = <span style="color:blue;">New</span> System.Windows.Forms.<span style="color:#2b91af;">Button</span>()<br>
|
|
<span style="color:blue;">Me</span>.SuspendLayout()<br>
|
|
<span style="color:green;">'</span><br>
|
|
<span style="color:green;">'VaultsLabel</span><br>
|
|
<span style="color:green;">'</span><br>
|
|
<span style="color:blue;">Me</span>.VaultsLabel.AutoSize = <span style="color:blue;">True</span><br>
|
|
<span style="color:blue;">Me</span>.VaultsLabel.Location = <span style="color:blue;">New</span> System.Drawing.<span style="color:#2b91af;">Point</span>(13, 26)<br>
|
|
<span style="color:blue;">Me</span>.VaultsLabel.Name = <span style="color:#a31515;">"VaultsLabel"</span><br>
|
|
<span style="color:blue;">Me</span>.VaultsLabel.Size = <span style="color:blue;">New</span> System.Drawing.<span style="color:#2b91af;">Size</span>(94, 13)<br>
|
|
<span style="color:blue;">Me</span>.VaultsLabel.TabIndex = 0<br>
|
|
<span style="color:blue;">Me</span>.VaultsLabel.Text = <span style="color:#a31515;">" Select vault view:"</span><br>
|
|
<span style="color:green;">'</span><br>
|
|
<span style="color:green;">'VaultsComboBox</span><br>
|
|
<span style="color:green;">'</span><br>
|
|
<span style="color:blue;">Me</span>.VaultsComboBox.FormattingEnabled = <span style="color:blue;">True</span><br>
|
|
<span style="color:blue;">Me</span>.VaultsComboBox.Location = <span style="color:blue;">New</span> System.Drawing.<span style="color:#2b91af;">Point</span>(16, 42)<br>
|
|
<span style="color:blue;">Me</span>.VaultsComboBox.Name = <span style="color:#a31515;">"VaultsComboBox"</span><br>
|
|
<span style="color:blue;">Me</span>.VaultsComboBox.Size = <span style="color:blue;">New</span> System.Drawing.<span style="color:#2b91af;">Size</span>(121, 21)<br>
|
|
<span style="color:blue;">Me</span>.VaultsComboBox.TabIndex = 1<br>
|
|
<span style="color:green;">'</span><br>
|
|
<span style="color:green;">'GetApprovedFiles</span><br>
|
|
<span style="color:green;">'</span><br>
|
|
<span style="color:blue;">Me</span>.GetApprovedFiles.Location = <span style="color:blue;">New</span> System.Drawing.<span style="color:#2b91af;">Point</span>(16, 86)<br>
|
|
<span style="color:blue;">Me</span>.GetApprovedFiles.Name = <span style="color:#a31515;">"GetApprovedFiles"</span><br>
|
|
<span style="color:blue;">Me</span>.GetApprovedFiles.Size = <span style="color:blue;">New</span> System.Drawing.<span style="color:#2b91af;">Size</span>(139, 23)<br>
|
|
<span style="color:blue;">Me</span>.GetApprovedFiles.TabIndex = 5<br>
|
|
<span style="color:blue;">Me</span>.GetApprovedFiles.Text = <span style="color:#a31515;">"Get approved files"</span><br>
|
|
<span style="color:blue;">Me</span>.GetApprovedFiles.UseVisualStyleBackColor = <span style="color:blue;">True</span><br>
|
|
<span style="color:green;">'</span><br>
|
|
<span style="color:green;">'Form1</span><br>
|
|
<span style="color:green;">'</span><br>
|
|
<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!)<br>
|
|
<span style="color:blue;">Me</span>.AutoScaleMode = System.Windows.Forms.<span style="color:#2b91af;">AutoScaleMode</span>.Font<br>
|
|
<span style="color:blue;">Me</span>.ClientSize = <span style="color:blue;">New</span> System.Drawing.<span style="color:#2b91af;">Size</span>(216, 137)<br>
|
|
<span style="color:blue;">Me</span>.Controls.Add(<span style="color:blue;">Me</span>.GetApprovedFiles)<br>
|
|
<span style="color:blue;">Me</span>.Controls.Add(<span style="color:blue;">Me</span>.VaultsComboBox)<br>
|
|
<span style="color:blue;">Me</span>.Controls.Add(<span style="color:blue;">Me</span>.VaultsLabel)<br>
|
|
<span style="color:blue;">Me</span>.Name = <span style="color:#a31515;">"Form1"</span><br>
|
|
<span style="color:blue;">Me</span>.Text = <span style="color:#a31515;">"Get files in state"</span><br>
|
|
<span style="color:blue;">Me</span>.ResumeLayout(<span style="color:blue;">False</span>)<br>
|
|
<span style="color:blue;">Me</span>.PerformLayout()<br>
|
|
<br>
|
|
<span style="color:blue;">End</span> <span style="color:blue;">Sub</span><br>
|
|
<br>
|
|
<span style="color:blue;">#End</span> <span style="color:blue;">Region</span><br>
|
|
<br>
|
|
<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><br>
|
|
<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><br>
|
|
<span style="color:blue;">Friend</span> <span style="color:blue;">WithEvents</span> GetApprovedFiles <span style="color:blue;">As</span> System.Windows.Forms.<span style="color:#2b91af;">Button</span></p>
|
|
<p style="font-family: Courier New; font-size: 13; color: black; background: white url('')" class="APICODE">
|
|
<span style="color:blue;">End</span> <span style="color: #0000FF">Class</span></p>
|
|
</font>
|
|
<p align="center"><a href="#top">Back to top</a></p>
|
|
|
|
</body>
|
|
|
|
</html>
|