找回密码
 注册
关于网站域名变更的通知
查看: 659521|回复: 18
打印 上一主题 下一主题

求助mentor二次开发如何应用在vb6中呢?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-4-1 16:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
求助mentor二次开发如何应用在vb6中呢?$ V( b& r- t! E6 M, \  d

该用户从未签到

推荐
发表于 2019-4-2 22:03 | 只看该作者

RE: 求助mentor二次开发如何应用在vb6中呢?

安装mentor,在VB里添加COM库:MGCPCB和license就可以编写了。下面是个例子,你摸索下。
: ?5 f. a: t6 n. X9 G3 B7 X) c; a; D! z$ J: g2 s" |
Public Class Form1. z! y. }. m; q9 ]
    ' Expedition Automation Globals" g! C! E4 b* ^/ X- i/ j7 y. f
    Public pcbApp As MGCPCB.Application- t8 _2 w$ `% a1 p: E( K3 S/ F1 [6 Y* d
    Public pcbDoc As MGCPCB.Document
) @- R& s4 b- f6 Z
4 ~- K3 ~  R3 [( D1 U) k& O    Public Sub MGCPCB_Connect()
: O' p; ?( c: F2 I        ' connects to MGCPCB6 }9 b" q9 T; }+ }' D
        Dim retVal As Short6 h8 [3 l4 Z, X* w/ \: y3 P8 h8 l
2 k  q9 w# ]8 [6 l, ~) h
        On Error GoTo OnErrorGetObject
9 }; k7 X/ H5 [5 U% c- q7 [        pcbApp = GetObject(, "MGCPCB.Application")0 |2 n7 g4 h# \3 S0 X
        pcbDoc = pcbApp.ActiveDocument. ]4 y) ]+ M1 o, D7 w9 m

, F( r. |9 f2 v6 |1 |' R  T" ~        ' make sure the doc is licensed" [2 R" k+ s4 R1 m4 {2 c2 ?! d
        retVal = licenseDoc(pcbDoc)
6 a% [- J  f$ Y. O! |$ L: n! t9 R- Z. P6 B
        If (retVal <> 1) Then pcbDoc = Nothing
0 O9 T: a) p# I! P2 Y1 ]; H7 g8 _" p
        Exit Sub5 `6 j' \/ D3 Q  \4 u

: l; d6 G/ [# j  f. JOnErrorGetObject:
5 D& z/ o; B1 h4 e  X        MsgBox("MGCPCB needs to be running!", , "Automation Demonstration"); T; l% K' V& y) ]* N  ~7 K( l
    End Sub
  O% j5 r; w  z8 ?: D) v& k- L7 P5 v! K
    Public Sub MGCPCB_Disconnect()1 i3 D- J; X+ e0 x; Y
        ' Disconnects from MGCPCB.
/ g. E9 q; E) k7 P        pcbDoc = Nothing
; ~! K+ {* J2 b        ' Disconnect from MGCPCB server
) b7 ?: B+ g; }        pcbApp = Nothing" K: F# O% f  h# `1 y
    End Sub* K5 @# W9 s1 a9 V% E6 _* ~* ]7 s/ H3 v( G
/ P9 a0 a" P! W( g% o; `& X" [4 S
! {# J# {; ?& u) x
    Public Function licenseDoc(ByRef docObj As MGCPCB.Document) As Short
9 `! y+ v; C" Q7 t0 T        ' =======================================================================
+ x0 q5 Y+ m) V8 I9 m7 B3 z! e+ U        ' Retrieve a licence for the document  |+ F( c6 T, |, P1 `8 O- u
        ' =======================================================================
! O: p+ t' J+ J# ?0 J        On Error GoTo exit_with_error- j: l; E+ ^1 O/ H# z5 D1 H
        Dim retState As Short
" E3 m. R& g& L. P
4 p0 a( {$ f+ |! C8 T/ M! n" F) e        Dim licenseServer As Object  K" @: W6 y+ q# a
        Dim key As Integer
$ s  O# j# L7 p, L        Dim licenseToken As Integer' q, w1 }- S0 X0 P  n" Y
        Dim outErrMess As String
6 W  p' s: f- r! ?4 V2 P9 v) F8 o5 f$ n( `
        If (docObj Is Nothing) Then GoTo end_of_function4 @0 c! j0 ^8 f

) p, E! F; H7 R, Q) ^        ' Ask the document for a key+ C" C- o! b* F, N. a
        key = docObj.Validate(0)
6 J' g; ^) q. V+ F; A$ g
# l! G4 x6 A0 O) z) s8 B* T        ' Get license server
1 _4 o$ L5 \3 C        On Error GoTo err_create_serverobj
1 u# n, _" g' z' W2 w/ }, [: x        licenseServer = CreateObject("MGCPCBAutomationLicensing.Application")
, \* K6 E5 W0 ^9 N; t7 P2 F- q        If (licenseServer Is Nothing) Then GoTo err_create_serverobj5 o6 ^  t, J- T$ N# A9 [' n4 F+ Y
        On Error GoTo exit_with_error( I* D% |( U8 W" @" K

. ^0 q$ q' h9 |! }# [3 m6 R% a. q% N9 S' F
        ' Ask the license server for the license token
# j; @6 \; @8 J; M2 X/ t- c6 h        licenseToken = licenseServer.GetToken(key)6 O( Y, Y: k+ }( O9 e; g0 l* y

2 \4 f, G% S9 P5 i% ~: X5 E/ \4 D& M3 r
        ' Validate the document with the license token
4 G2 Z, a' a9 T2 e0 n4 R" g6 z) C( M        On Error GoTo err_validate/ i% P4 A$ K# P  u
        Dim lRetval As Integer
5 M. k' `+ a2 B5 l3 t+ b: d4 M        lRetval = docObj.Validate(licenseToken)& k  I9 X& y, j
/ L) x8 A. k9 V6 T+ B4 |4 m
        On Error GoTo exit_with_error$ h! w& ~# U, X: T. ?) V
: z/ t2 o( V% z9 C) }* ?% X
        retState = 1
8 Q  B* k. X9 o& U
' ?0 z) f8 Q' `7 g) y3 e4 yend_of_function:
# |4 R9 o% R  W8 Y8 o        ' release licence server
+ |0 U; Z* O+ q* S        licenseServer = Nothing# i7 x' d7 M7 v/ d8 ?
        licenseDoc = retState3 M( c& N7 G6 k
9 p+ `$ d6 X% ~6 U& O. ~, h9 D
        Exit Function
1 E4 t1 y: l# B; B$ M( Z9 k) m' T  c7 `
8 p# s, \# q- Xshow_error:/ V  X# n) w% |
        Dim ioptions As Integer
! W- R  V0 a& c. l. P& Y: A        ioptions = MsgBoxStyle.DefaultButton1 + MsgBoxStyle.ApplicationModal + MsgBoxStyle.Critical + MsgBoxStyle.OkOnly
( f# ^# L  V3 m% S) Z( [, j. S        MsgBox(outErrMess, ioptions, "Retrieving license for document")
. r7 q! b5 U: X- u        GoTo end_of_function1 M1 W- |5 ]* ]1 r- U; E# [- [9 k

' B8 J3 u5 [" i0 Y5 ~exit_with_error:" m& Z- o, a( O( R
        outErrMess = "** Error ** " & ErrorToString()
$ P$ o& L+ F* K8 x- j5 Z8 O        retState = -1- W3 ~, f& C# S( {# @  d( \/ X
        GoTo show_error; P  l1 o+ L/ a- ?+ O
+ L; @* q! m( R( j3 c) y8 \2 \/ C
err_create_serverobj:# M: W1 h! F5 k4 J. ]; v9 d
        outErrMess = "** Error ** Could not create license server object"
5 j0 \* \" V1 e/ N7 i        retState = -2+ P7 s. L& i- ?: U
        GoTo show_error! t: H/ `% `- f/ r, ~* N, R/ O
% L. j4 i$ Y0 g. Y/ `& Z
err_validate:
7 ~+ y1 F7 `7 X0 {3 w        outErrMess = "** Error ** Failed to validate document object"
) V- k3 C- ^; \1 N' k  S/ H        outErrMess = outErrMess & vbCrLf & "    License token : " & Trim(Str(licenseToken))
. K/ k% D7 B; K$ x+ H- X        outErrMess = outErrMess & vbCrLf & "    Document key  : " & Trim(Str(key))
. U! C+ f- ]# m( j" P        retState = -3
; H+ D; j, O& Y. D        GoTo show_error7 _/ c% z3 N6 O, m2 I& z# e

0 e2 m' |# s+ K, u8 z    End Function! ]/ W; p7 c+ I4 m

& V( Y! C7 B! _    ' your code

点评

看不太懂啊,能不能具体分享一下怎么弄啊,谢谢了!  详情 回复 发表于 2019-4-3 09:26
敏刚威武  详情 回复 发表于 2019-4-3 08:09

该用户从未签到

推荐
 楼主| 发表于 2019-4-3 09:26 | 只看该作者
zmg2007 发表于 2019-4-2 22:03
$ M, e* J/ u3 U" q安装mentor,在VB里添加COM库:MGCPCB和license就可以编写了。下面是个例子,你摸索下。; r$ w. [' r- R) K. }
3 h3 n( O! x1 `0 i
Public Class F ...

9 u, A! I' g) y/ i& ^" h4 J! f看不太懂啊,能不能具体分享一下怎么弄啊,谢谢了!
. a! x. T5 N, \9 Q8 S
  • TA的每日心情
    开心
    2023-12-15 15:16
  • 签到天数: 1 天

    [LV.1]初来乍到

    推荐
    发表于 2023-12-20 13:00 | 只看该作者
    zmg2007 发表于 2019-4-5 20:398 y1 C& P$ H3 ]& {
    一个出器件信息的例子,你看下,用VS2017(Visual Studio)可以打开查看源码。
    - n6 S- [6 c2 B# W9 O3 h; }
    我是基于C3编程,有这块的指导么,VB的代码和C#有些比较大区别) N$ n; I% }' O

    该用户从未签到

    2#
    发表于 2019-4-1 16:59 | 只看该作者
    应该要链接mentor的函数库

    点评

    那数据库哪里有啊?是啥样子的  详情 回复 发表于 2019-4-1 17:13

    该用户从未签到

    3#
     楼主| 发表于 2019-4-1 17:13 | 只看该作者
    lines 发表于 2019-4-1 16:59  V1 f, X- O# e$ v- C
    应该要链接mentor的函数库

    1 [1 s/ b) |5 U1 l那数据库哪里有啊?是啥样子的" X2 w# `$ C" a' k$ r% R! D# t" Y* O) F  q
    0 N8 A6 Z# G1 P3 G* S6 [: ~7 {/ N! n

    点评

    @老吴PCB 如何引用?  详情 回复 发表于 2019-4-2 09:00

    该用户从未签到

    4#
    发表于 2019-4-2 09:00 | 只看该作者
    罗斯 发表于 2019-4-1 17:13
    $ W$ E; @7 h2 |! Q( E2 r0 u那数据库哪里有啊?是啥样子的
      _& k+ B( f2 V
    @老吴PCB 如何引用?

    点评

    大侠,如果我不进来看,真不知道你@我了  详情 回复 发表于 2019-4-2 10:11

    该用户从未签到

    5#
    发表于 2019-4-2 10:11 | 只看该作者
    lines 发表于 2019-4-2 09:00- b" L" ]5 C- L! y5 K) \
    @老吴PCB 如何引用?
    ( m1 O% j" E& v7 N
    大侠,如果我不进来看,真不知道你@我了
    5 G5 w- V* z+ ]1 y5 X# V

    点评

    知道你随时会现身的  详情 回复 发表于 2019-4-2 10:26

    该用户从未签到

    6#
    发表于 2019-4-2 10:26 | 只看该作者
    老吴PCB 发表于 2019-4-2 10:11
    9 z0 h2 U0 q. Y/ q( n" t: G* ?9 J大侠,如果我不进来看,真不知道你@我了
    ; G3 k- }& U( b
    知道你随时会现身的
    / w5 ?# k! p2 H
  • TA的每日心情
    奋斗
    2019-11-20 15:07
  • 签到天数: 1 天

    [LV.1]初来乍到

    7#
    发表于 2019-4-2 17:08 | 只看该作者
    在安装目录下一般都会有案例可供参考,不过呢,VB6中开发可能不一定有自带的Automation开发起来方便,我个人的想法,仅供参考。
    " w" v/ O$ d% }7 U6 t+ ~
  • TA的每日心情
    奋斗
    2019-11-20 15:07
  • 签到天数: 1 天

    [LV.1]初来乍到

    9#
    发表于 2019-4-3 08:09 | 只看该作者
    zmg2007 发表于 2019-4-2 22:03
    4 y. A- O( H/ d" m/ L安装mentor,在VB里添加COM库:MGCPCB和license就可以编写了。下面是个例子,你摸索下。* q: s" G4 Q' @9 x9 o9 H1 b8 {
    + x; o8 c# U6 n" @5 A
    Public Class F ...
    2 Q5 ]% o0 W) o# j
    敏刚威武
    , ^% I2 `# J, J

    该用户从未签到

    11#
    发表于 2019-4-5 20:39 | 只看该作者
    一个出器件信息的例子,你看下,用VS2017(Visual Studio)可以打开查看源码。

    CompInfoList.zip

    937.59 KB, 下载次数: 40, 下载积分: 威望 -5

    点评

    我是基于C3编程,有这块的指导么,VB的代码和C#有些比较大区别  详情 回复 发表于 2023-12-20 13:00
    感谢分享,用vb6没法看代码吧?  详情 回复 发表于 2019-4-8 14:12

    该用户从未签到

    12#
    发表于 2019-4-8 14:12 | 只看该作者
    zmg2007 发表于 2019-4-5 20:39$ a, w$ l- q7 D# o& |; i
    一个出器件信息的例子,你看下,用VS2017(Visual Studio)可以打开查看源码。
    ' w8 B2 T* I8 {
    感谢分享,用vb6没法看代码吧?
    * X& X# @" d& T! u7 N% E- D" _6 v& \

    该用户从未签到

    14#
    发表于 2021-3-4 08:59 | 只看该作者
    2313413123123131321

    该用户从未签到

    15#
    发表于 2022-1-16 19:26 | 只看该作者
    xxxxxxxxxxxx学习学习,但不知道咋弄
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-28 08:29 , Processed in 0.109375 second(s), 37 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表