找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
打印 上一主题 下一主题

请问该怎样把SmarTeam按钮和代码联系起来?

[复制链接]
11
发表于 2004-4-27 08:33:19 | 只看该作者
根据提示,估计是你的函数定义有问题!
WorkDir代表的是路径
DocumentName代表的是要打开的文件名称,我忘了写了!
12
发表于 2004-4-27 23:06:53 | 只看该作者
mwd121请问我的代码错在哪里呀?我就是编译不过.
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long  
Declare Function GetDesktopWindow Lib "user32" Alias "GetDesktopWindow" () As Long  
  
Sub Click()
Dim Scr_hDC As Long  
Dim WorkDir As String  
Dim r As Long  
  
Scr_hDC = GetDesktopWindow()  
WorkDir = "d:\Work"  
r = ShellExecute(Scr_hDC, "Open","g:\gg\Pro.exe", 0&, WorkDir, 3)  
End Sub
还有就是我在建立文件的时候,在函数(Function)那一栏就是写不上函数名,我编译的时候他提示我没有合法的入口ID.
mwd121,麻烦你给我做一个手把手教的过程吧,我真的没有办法了.求你了.
13
发表于 2004-4-28 08:24:46 | 只看该作者
你的函数定义确实有问题,我帮你改了一下,你再试试!
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long  
Declare Function GetDesktopWindow Lib "user32" Alias "GetDesktopWindow" () As Long  
  
Function Click(ApplHndl As Long,Sstr As String,FirstPar As Long,SecondPar As Long,ThirdPar As Long ) As Integer
Dim Scr_hDC As Long  
Dim WorkDir As String  
Dim r As Long  
  
Scr_hDC = GetDesktopWindow()  
WorkDir = "d:\Work"  
r = ShellExecute(Scr_hDC, "Open","g:\gg\Pro.exe", 0&, WorkDir, 3)  
Click= Err_None
End Function
14
发表于 2004-4-28 08:27:34 | 只看该作者
smarteam二次开发的程序在不同的地方有不同的入口函数,必须符合该函数参数定义才能编译通过!
15
发表于 2004-4-28 09:48:39 | 只看该作者
我原来那个sub Click是我利用新建文件时生成的,想不到还会有错。谢谢指点。我先试试。
16
发表于 2004-4-28 10:11:20 | 只看该作者
已经通过编译。我已经按照上面一步步的做了,只是没有设置上下文环境,但我点击SmarTeam上的按钮的时候没有任何反应呀。本以为可以的了,现在不行,那我该怎么办呀?mwd121,麻烦你试一下,看是什么原因,是不是有什么细节没有搞好。
是不是Declare Function GetDesktopWindow Lib "user32" Alias "GetDesktopWindow" () As Long 的“user32"错了?
17
发表于 2004-4-28 10:20:32 | 只看该作者
应该是GetDesktopWindow错了吧,我Smarteam搜索不到这个函数,如果是这个错了,那又该用哪个函数获得SmarTeam的句柄。麻烦mwd121,帮看一看,并把声明和代码写出来好吗?你现在是唯一可以救我的人了!!!!!
18
发表于 2004-4-28 11:25:39 | 只看该作者
对不起,原来你是要运行程序,还是用shell好了,我原来认为你是要运行程序打开一个文档之类的呢!
程序如下:
Function Click(ApplHndl As Long,Sstr As String,FirstPar As Long,SecondPar As Long,ThirdPar As Long ) As Integer
Dim RetVal12
RetVal12=shell("c:\winnt\System32\calc.exe",1)
Click= Err_None  
End Function
19
发表于 2004-4-28 13:20:36 | 只看该作者
我改了,但是还是不行。是不要获取句柄之类的,从而把控制权转移。在VB上很容易实现的情况到了Smarteam这里怎么就这么难了,这样走不通,我都不知道该怎么下手了。我认为你提供的代码就应该可以实现的了,但还是没有把程序运行起来。真没有办法了。
mwd121,如果你有耐心你就帮我做一个手把手教的过程吧,我都不好意思问你了,我也不懂该怎么问了。
我的要求就是在SmarTeam的菜单栏上的帮助(help)之前加一个按钮,点击按钮来运行一个已经编译好的程序而已。
mwd121,如果方便的话,你就把整个过程贴出来吧。
谢谢了。
20
发表于 2004-4-28 13:41:00 | 只看该作者
我的可以呀!步骤如下:
第一步:

本帖子中包含更多资源

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

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-23 07:44 , Processed in 0.030037 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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