iCAx开思网

标题: 关于pmill二次开发的问题! [打印本页]

作者: chendp1121    时间: 2011-11-3 09:40
标题: 关于pmill二次开发的问题!
我是 菜鸟请教个问题,帮我看看下面的VB二次开发程序
我要查找 PM中有用到边界为dgf的程序,即退出FOR循环,然后pd = True。但是我测试了,即使已经查找到有用到dgf边界的程序,但是pd 就是不等于True。后来我发现pmill.ExecuteEx("PRINT FORMVALUE finishing.boundary.activebndry") 的返回值有点奇怪,比如他的返回值是dgf,但是用len( )去测字符的长度却是5(本来应该等于3);如果他的返回值是空值,但是len(abd)=2,也就是用len(abd)的值永远比实际字符数多2。另外,就是如果pmill.ExecuteEx("PRINT FORMVALUE finishing.boundary.activebndry")返回值是数字,就不存在上述情况。想像请教下为什么会出现这种情况。代码如下:

Private Sub Command4_Click()
Dim tpl As New Collection, atp As Long, tpn, i As Integer, tp, pd As Boolean, dd, abd As String
pmill.GetToolpathList tpl, atp
tpn = tpl.Count
pd = False
If tpn > 0 Then
For i = 1 To tpn
tp = "'" & tpl.Item(i) & "'"
pmill.ExecuteEx "ACTIVATE Toolpath" & tp
abd = pmill.ExecuteEx("PRINT FORMVALUE finishing.boundary.activebndry")
    If abd = "dgf" Then
    pd = True
    ceshi=len(abd)
  
     
    Exit For
    End If
Next i
End If
End Sub


作者: chendp1121    时间: 2011-11-7 12:09
为什么,没人回答我,自己顶下都要沉了。
作者: WSZHANGQING90    时间: 2011-11-7 12:48
给你顶起
作者: chendp1121    时间: 2011-11-8 19:46
真是郁闷了 ,这论坛就没有pmill二次开发的高手了?
作者: yue2233    时间: 2011-11-9 11:33
本帖最后由 yue2233 于 2011-11-9 11:36 编辑

但是用len( )去测字符的长度却是5(本来应该等于3);

是不是有空格?,或区分大小写?  If abd = "dgf" Then 改为 If abd.trim = "dgf" Then 试一下?


作者: chendp1121    时间: 2011-12-6 21:20
已经解决了




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3