青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 3825|回复: 16

[疑难] 求教一个 关于C语言 问题 【第一个给我解决问题的人我帮谁冲200人民币话费】

[复制链接]
发表于 2013-5-30 19:39 | 显示全部楼层 |阅读模式
求教一个 关于C语言 问题 【第一个给我解决问题的人我帮谁冲200人民币话费】/ {' w4 w" _6 a3 u! u) m
0 T9 h4 c3 ?8 ]& ~. Y/ O

* m# X# b5 C- E3 VC调用 api 的 有效方法
* ?! x2 t3 P- O. w内容如下:
6 L9 b/ _5 Z. ]2 j! y0 _6 d. T
求教一个 关于C语言 问题 【第一个给我解决问题的人将200人民币话费】! b0 m- I/ v# I# _
// // // // // // // // // // // // // // // // // // // // // // // // //
* ]" l+ t! t5 |0 L5 f( E, }如图1.JPG  m' U, c- W6 w
1.GIF ' y+ g; k; [! S% [! E
我用 【Unigraphics NX AppWizard V1】 创建一个简单的uf程序. ^- c- F! [0 s
程序名称 UF! U& y: M# F$ `, Q) Z
以下下代码
6 d$ Q6 M% ]3 _( G; j// // // // // // // // // // // // // // // // // // // // // // // // //
/ U/ m; C1 l1 j* v& Dextern "C" DllExport void ufsta( char *param, int *returnCode, int rlen )9 N( u6 ]6 B) z7 |" o, L$ _1 w. @
{: ]1 C* C  |# ~5 F2 F
    /* Initialize the API environment *// N* y* X8 }( S, i* y7 w; r% _  F
    int errorCode = UF_initialize();
3 `& |; h5 r* ?; j0 L# v    if ( 0 == errorCode )
. i) Y+ N% {; \    {6 A4 L' K# m* v
        /* TODO: Add your application code here */7 @/ O3 `8 w; y7 p5 y  Z( s

0 d  H( g# V8 t$ n: ?uc1601("你好",1); //创建一个简单的uf程序" E2 z' Q, b% h% J
' m* ^5 h. i& @+ @) ~+ B( E
        /* Terminate the API environment */7 x' R6 W: d- r) \, j8 H5 A
        errorCode = UF_terminate();
: S& }0 ~) r# X6 I) ^* X1 N& d; u    }7 D8 l2 _; L- s
    /* Print out any error messages *// }+ H, n. h, p! {6 V2 [9 j
    PrintErrorMessage( errorCode );
) j/ n- c6 J( v$ e( E6 B' {( \}$ r% b9 L7 l# Y$ t6 _* z8 Q
// 编译连接以后 生成UF.dll 在ug 按Ctrl+U 能成功运行  弹出 你好1 L$ s9 D" A& z1 r3 z

6 I9 x; U% f6 u/ a// // // // // // // // // // // // // // // // // // // // // // // // // ; g$ i7 Y- y  A$ D: x
2.GIF ! y; l, t! y4 r! a- F& y- f
如图2.JPG* v9 ~  d. c" M4 b3 ?
我用 【Win32 Console Application】 创建一个简单的c程序) U7 Q, i/ A+ N
程序名称 C: i: m, J% a5 @" l: d5 U% r; @
以下代码' ^$ s6 }' g( D
// // // // // // // // // // // // // // // // // // // // // // // // //
% X) z# v& p5 N/ X7 W* R4 H#include <iostream>& n  K  f9 V; D8 F; S
using namespace std;
* C% e2 R( k/ l/ R0 G0 g; ~+ o void main()
! h' t; R) l/ c7 ]$ y8 |. u{     4 R. {! p9 t# I( `' ^! B
    system("C:\\UF\\DebUG\\UF.dll");  // 调用dll( d/ u! B- a: P: E9 Z4 s. I$ f
}
, Q/ U7 \: _/ c1 ~: j# S3 e3 G6 O$ G% z; y2 V0 F) e' J
// 编译连接以后 生成C.dll 在UG 按Ctrl+U 能成功运行  但不能 调用UF.dll$ ?" Y4 T- ^. d7 M# c
% A9 h  _) r: c( |$ W
// UF.dll 属于在 UG内部运行的程序, k3 n+ B" z3 T
// C.dll  不属于在 UG内部运行的程序
  n5 X" d& Z! X, @. M) A0 p//  C 只能调用运行 不带 对话框的 uf程序吗?如文件导入导出
8 }# F$ J# p( g' ]+ D, n# B/ L* {0 h5 K7 @' H" W
//  C 如何才能调用 UF.dll  【无需带参数 只要能在ug运行 提示 你好就行】
, @1 r; f9 {- T
% c" z. l. I- j9 {2 v& |* b
7 X% u! J* n( _! n. h" z
0 V" g8 l- k# c+ y1 F9 R, D+ t% h6 ^8 s# U0 ^) `
 楼主| 发表于 2014-5-17 13:04 | 显示全部楼层
playboy241 发表于 2014-4-19 08:49
' O, j5 l8 `; f$ _# W" W4 R, D  O200块就要源代码?

; V$ f$ H  h0 j8 ?& Q( ]- w! @1 `2 E3 [什么态度,耍我呢这是,,算了这个问题不重要了, . A5 N: f) Q$ j+ G- J/ D
没时间去了解全部,现在开始我只做网上没有的外挂8 A% `5 M. v1 E9 @
回复 支持 1 反对 0

使用道具 举报

发表于 2013-5-30 20:50 | 显示全部楼层
UG调用UF.dll 是通过特定的函数入口ufsta进行的。所以你要UG调用自己的Dll文件,dll必须遵循UG的要求,即定义相应的入口,并作一些初始化工组。声明一下,不是看着200元话费来的哈。
8 ]' I0 J5 d( u9 g8 g/ N& J' w  [我也不清楚你为什么要实现你的这个想法呢?
回复 支持 反对

使用道具 举报

发表于 2013-5-30 21:05 | 显示全部楼层
赞一个!!!民间的高手就是多啊!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-3 10:22 | 显示全部楼层
yelang00 发表于 2013-5-30 20:50
, R+ f- c! n8 |" z. T% }UG调用UF.dll 是通过特定的函数入口ufsta进行的。所以你要UG调用自己的Dll文件,dll必须遵循UG的要求,即定 ...
- i/ z6 i  H% |0 _) n& i$ b
这个对我来说 比较 重要* W2 p* x1 U1 g& K' o6 Z9 [$ c) r. I
ui界面有时功能不足 我就的用 vb界面 不是vb .net【vb没ug接口】# O! ?+ w/ v4 z" K
grip 调用 vb界面 vb想返回的话  grip 调用vb时 鼠标移到 界面外就会 变成一个圈
1 f0 `, R  J4 Ogrip 调用 vb界面 没有圈  vb就不能返回 调用grip
% v2 H1 m- Q4 O8 k# [% L5 X8 y, z4 X7 h0 j( H$ F
api 调用 grip
5 o( c+ w; [  z; U4 Mapi 调用 ug宏4 D# ?" r7 L' t4 L6 a& ~: ?2 M: D! }# W
api 调用 vb0 K4 }, r5 s+ }5 E1 h) w# f
grip 调用 api
# Q- T& y; i: ~  w: J' R+ K: rgrip 调用 vb" r5 v  Q0 O6 _. g
都会了: B! V/ x7 f; y! H# E* p9 h
就是不会  vb 调用 grip  或者 vb调用api
& D0 U7 ^6 u. l6 N$ p( r( S6 z
: o& d  t2 J$ L. Y6 R( |
6 j& A% E& \% G/ Y2 a& f8 Zvc++ 界面我还不会用 ui界面 有时候功能不足  
1 z  a- u* o/ ~7 Q% `7 W* C( i我想用 vb 弥补 ui界面的 不足

点评

刚才有点武断啊!抱歉  发表于 2013-6-14 12:40
上面一大推这个会了那个会了,就是不会这个。这就可以看出来,其实你不是真的理解编程,你会的只是按照实例或者函数摸索出来的。如果你真的理解调用的过程,就不是这样提问了。  发表于 2013-6-14 12:33
vb 做界面 c做代码  发表于 2013-6-3 10:24
回复 支持 反对

使用道具 举报

发表于 2013-6-3 20:54 | 显示全部楼层
我觉得你运用的技术很丰富的。反过来,想一想。相互调用无非是为了传递参数,调用函数。
0 q& K. v8 X& i1 h- U5 \建议你这样实施。. q8 p  F8 D4 @) W) _) _# c) s/ x
api-->vb界面->api->grip->api->宏-》api
4 p8 h! Y( I; X; a( S7 s也就是始终以api为主线,其他为辅助。我想这个应该没问题吧。只是稍微复杂点,但可解决你的问题。曲径通幽。
5 a& s2 I: O- l/ D$ K; Z不知道能否解决你的问题。
回复 支持 反对

使用道具 举报

发表于 2013-6-4 15:24 | 显示全部楼层
UF_load_library
2 b8 ?4 ~* ?6 k0 O/ }, N2 @7 \
回复 支持 反对

使用道具 举报

发表于 2013-6-4 15:25 | 显示全部楼层
又不是美金,不是什么新鲜事了,省了你那200块钱,给你函数自己调UF_load_library2 \, K# i3 y3 O5 q3 M; u
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-6 09:29 | 显示全部楼层
tianpeng 发表于 2013-6-4 15:25
3 @/ }+ Z1 V% s" n3 d2 b' v' Y又不是美金,不是什么新鲜事了,省了你那200块钱,给你函数自己调UF_load_library

/ t2 }9 _$ e7 }9 K7 \2 |$ h; l- @4 C- y% _4 W
UF_load_library 内部模式可以调用ug宏 【早以解决】
; R2 r6 W3 P1 j- J9 Y" l6 m外部 模式 也能  调用ug宏 ???【求外部模式啊】$ ^  E! `8 u& x2 I" b& z  c$ O, Y
, d+ ?% q) t' C) ]! \6 m, r% v
api 与 vb 互交 也早实现了  虽然是动态 调用 vb 的dll界面 但还是 出现  鼠标一个 圈一个圈
" y1 n- S0 l$ ^3 Z# {8 p
6 J! W' R; Q7 C- X1 b0 i# ~3 k$ x4 ?/ w, f8 e
回复 支持 反对

使用道具 举报

发表于 2013-6-13 23:27 | 显示全部楼层
....学习中。。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-14 14:10 | 显示全部楼层
1821117007 发表于 2013-6-3 10:22
7 }8 c4 y7 v- [3 r0 N: D4 Z& _这个对我来说 比较 重要
! _1 e7 m6 H5 g% U+ `ui界面有时功能不足 我就的用 vb界面 不是vb .net【vb没ug接口】: y) {& W) `6 f) A9 D7 w
grip 调用 vb ...

: J' w3 P3 g( p你说对了,我还真不了解调用过程求解决,
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2024-5-11 22:23 , Processed in 0.093703 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

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