|
下面写的内容是我一年前摸索的,后来因为工作原因不做这些,就搁置了。
* g# [. _! P; t7 v3 |3 s今天整理硬盘的时候发现了这些资料,因为记得论坛上有不少人在研究用易语言来给ug做二次开发,所以拿出来给大家分享。
& j: _! K1 x, k因为能力有限,当时写代码就有点乱,我现在也没有整理,不过大致功能是明确的,我在这里做了简单的说明。
% M; J% a2 X, C, a
& y3 W7 O5 K& s* P5 g( N. E6 y7 n为什么会想到用易语言来开发:
7 b7 [& K3 C3 i3 _1,因为用c++来开发,并不是大多数人所能掌握的,必须要有一定的基础。而易语言比较简单,容易掌握,只需短暂的时间就能写出一些简单的程序代码,比较适合普通人群* I8 A; N) \9 Q3 {0 ^3 @
2,VB也可以做二次开发,且语言也比较容易掌握。但是用VB写的EXE可执行程序,在GRX调用时,不能共享UG窗口,也就是说当打开EXE文件时,不能对UG软件进行任何操作。因为有的时候我们在输入参数时,要看一下3D模型,而这时不能对UG视窗操作,这是非常讨厌的!(至于VB写DLL,或者VB结合C++,我没有做研究,这里不做讨论)# r* J, k3 V. J' r* u' V0 k% j
: H% |3 V. J* A0 N$ r1 |" q附件里易语言所能实现的功能:
, X" H# f. ]9 T, l这里用易语言编写的DLL,可以用UG直接调用,然后进行相关参数的输入4 p; Y% G( P+ b5 @7 h
运行相应的GRX文件是通过一个C++的DLL进行过渡的(这里C++写的DLL起了个启动GRX文件的作用,这DLL是通用的,里面有个输入函数,参数就是GRX的路径全名称)这个DLL你们以后可以不用写,你们用易语言写的DLL可以直接调用这个文件,只要附上正确的参数。调用格式如下图
& l4 j. N1 u7 C) J q1 Z# w
( N4 h O }2 _* `4 h9 L
8 s/ O+ o3 s3 z9 ?
( {- H5 z. m2 @
UG调用DLL的入口函数通常有ufusr()和ufsta()两种
, f6 @0 z4 }* {% e) _ufusr()是通过下拉菜单点击实现的,ufsta()可以放在特定目录让UG自动加载。
( }: C8 l# F, D6 @: ]这个可以自行选用。此函数必须公开- o5 G! y ]/ v. [- f
下面是格式
3 ^) @3 i4 k! m3 ^
1 {, ?" g) u7 j6 a" E+ q
还有的内容我就不写了,你们可以下载附件自己研究6 D; U+ x! W w/ R+ E3 K3 V
& c& p2 v( ]: n
存在的一些问题
! Z! }/ O% K5 h. f附件的代码只是实现了一些简单的功能,而且代码也有很多不足的地方需要改正,请谅解2 V* i/ r: l6 D. w- y
1,如果需要DLL和GRX进行参数传递,还是需要用文本文件进行过渡的。
! m7 G1 m/ |2 r6 b" K) w- Z8 h9 `2,当运行了GRX文件,DLL的界面还是显示的,如果再次点击运行按钮,会有错误(这些可以修改代码完美解决问题,我这里没有进一步深入)
6 N" \4 g5 X1 z" r+ M- W9 S; S/ ~0 G' X8 o% d% X+ N
把附件解压到D盘,CTRL+U调用文件夹D:\QW里的test.dll进行测试. U' w. L# X' I# m
注:在UG4.0上测试通过,易语言用的模块式网上搜索而来。里面有些代码可能是没用的,请自行整理。
( f3 C; {3 E! g8 Y% c/ x
QW.rar
(533.54 KB, 下载次数: 955)
! v2 h( d6 ?; K8 g, }. P; { |
评分
-
查看全部评分
|