Example 4

Suppose you want to add a button to your VB application that refreshes the Pro/E screen. The first thing you do is make a simple Windows DLL project that has 3 files.

 
pack.def      
    
LIBRARY  pack

EXPORTS
  Connect2Pro @1
  Repaint @2
  
  
pack.h

#include <windows.h>

int __declspec(dllexport) Connect2Pro();
int __declspec(dllexport) Repaint();
  
pack.cpp

int Connect2Pro(){

  ProProcessHandle proe_handle;
  ProError err;
  ProBoolean random;
  err = ProEngineerConnect("",NULL,NULL,"",PRO_B_TRUE, 100, &random, &proe_handle); 
  if(err != PRO_TK_NO_ERROR){
      return -1; 
   }
  }
  return 0;
}

int Repaint(){
  ProWindowRepaint(PRO_VALUE_UNUSED); 
  return 1;
}
     

Then add to your VB project these files.

        
pack.vb
 
Public Class ptk
    Declare Auto Function Connect2Pro Lib ".\pack.dll" () As Integer
    Declare Auto Function Repaint Lib ".\pack.dll" () As Integer
End Class 

MainForm.vb
.
.
.

Private Sub ConnectToProE_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ConnectToProE.Click
    Dim res As Integer
    res = ptk.Connect2Pro()
    If res = 0 Then
        MsgBox("Connection to ProE established.")
   Else
        MsgBox("Failed to connect to ProE.")
   End If
End Sub

Private Sub Reset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Reset.Click
    ptk.Repaint()
End Sub

The last two functions are the part of the Main class. Note that I am using VS .NET.