|
下面写的内容是我一年前摸索的,后来因为工作原因不做这些,就搁置了。 O; Y7 Q o; N/ k* S/ R; J9 W6 j
今天整理硬盘的时候发现了这些资料,因为记得论坛上有不少人在研究用易语言来给ug做二次开发,所以拿出来给大家分享。3 [" {5 H- D5 E! H) U4 _
因为能力有限,当时写代码就有点乱,我现在也没有整理,不过大致功能是明确的,我在这里做了简单的说明。
5 Q7 u1 u0 }' D, p2 `" c" O& ]% q; x4 P. `: U5 o- y- C
为什么会想到用易语言来开发:
, I, c9 l# |+ P% \/ }0 h, _1,因为用c++来开发,并不是大多数人所能掌握的,必须要有一定的基础。而易语言比较简单,容易掌握,只需短暂的时间就能写出一些简单的程序代码,比较适合普通人群# |% X- h" ?- p! Q& j) H7 O4 _' @
2,VB也可以做二次开发,且语言也比较容易掌握。但是用VB写的EXE可执行程序,在GRX调用时,不能共享UG窗口,也就是说当打开EXE文件时,不能对UG软件进行任何操作。因为有的时候我们在输入参数时,要看一下3D模型,而这时不能对UG视窗操作,这是非常讨厌的!(至于VB写DLL,或者VB结合C++,我没有做研究,这里不做讨论)
6 `5 J8 L( {7 f X- [
4 M( q" ~; _ _4 ]7 e8 M: ^; u附件里易语言所能实现的功能:: a' C1 y5 E K& E4 b3 R- k7 ~
这里用易语言编写的DLL,可以用UG直接调用,然后进行相关参数的输入: Z5 f7 B& s; |
运行相应的GRX文件是通过一个C++的DLL进行过渡的(这里C++写的DLL起了个启动GRX文件的作用,这DLL是通用的,里面有个输入函数,参数就是GRX的路径全名称)这个DLL你们以后可以不用写,你们用易语言写的DLL可以直接调用这个文件,只要附上正确的参数。调用格式如下图
0 \" q. n1 _7 c+ S; c8 E6 s
/ A4 H0 N J4 `, i
% R! R! B" h5 O5 |2 U
$ b5 `! v& R9 ~1 e5 ~; C# a2 H) A
UG调用DLL的入口函数通常有ufusr()和ufsta()两种! n% _! H0 s& r# x3 I, z
ufusr()是通过下拉菜单点击实现的,ufsta()可以放在特定目录让UG自动加载。1 F- f( b# `( z( q* Z* ^
这个可以自行选用。此函数必须公开
8 R- i, U P" c8 f$ I r* \# K. r下面是格式
+ ]. n/ [6 [# w
4 D! T% S! }: y0 H. N
还有的内容我就不写了,你们可以下载附件自己研究
' Y& v* k e; ]/ e" M0 W; E% ]: U
; h5 E) U$ H4 o, e存在的一些问题% d5 s: s& n3 `# }# ~% e( L
附件的代码只是实现了一些简单的功能,而且代码也有很多不足的地方需要改正,请谅解
6 V+ e; D* L! k7 k1,如果需要DLL和GRX进行参数传递,还是需要用文本文件进行过渡的。4 E0 X, |8 c( L* N1 `1 |
2,当运行了GRX文件,DLL的界面还是显示的,如果再次点击运行按钮,会有错误(这些可以修改代码完美解决问题,我这里没有进一步深入)
& ?1 Y# @5 j3 G; p5 p! N. G7 O/ A2 F" q6 J( p$ Z- K6 F( x
把附件解压到D盘,CTRL+U调用文件夹D:\QW里的test.dll进行测试
; Z0 D, N2 {& S7 o; P+ ?注:在UG4.0上测试通过,易语言用的模块式网上搜索而来。里面有些代码可能是没用的,请自行整理。5 o. q; ^7 R) e
QW.rar
(533.54 KB, 下载次数: 955)
! f8 b& p& D# I |
评分
-
查看全部评分
|